負荷テストを実行すると,LoadRunner により,システムに対して負荷が生成されます。この後,LoadRunner のモニタとグラフを使用して,負荷がかかった場合のシステムのパフォーマンスを観察できます。
この練習は,次の項目で構成されています。
Controller の[実行]タブは,シナリオの管理および監視を行うための中心となる場所です。[実行]タブ(Controller ウィンドウの下部)は,5 つのペインで構成されます。
[グラフの凡例]ペイン: 下部のペインには,選択したグラフのデータが表示されます。
本項では,シナリオを開始します。
Controller の実行ビューを開きます。
Controller の下部の[実行]タブをクリックします。
[シナリオ グループ]ペインの[ダウン]カラムに 8 個の仮想ユーザが存在することがわかります。これらはシナリオの作成時に作成した仮想ユーザです。
シナリオはまだ実行されていないため,ほかのカウンタはすべて 0 のままで,グラフ表示領域内のグラフは([Windows リソース]を除き)すべて空になっています。次の手順でシナリオの実行を開始すると,グラフとカウンタは情報を表示し始めます。
シナリオを開始します。
[シナリオの開始]ボタンをクリックするか,[シナリオ]>[開始]を選択して,シナリオの実行を開始します。
チュートリアルを初めて実行している場合は,Controller によってシナリオが開始されます。結果のファイルは Load Generator の temp フォルダに自動的に保存されます。
テストを繰り返す場合は,既存の結果ファイルを上書きしてもよいか尋ねられます。初回の負荷テストの場合は,その結果を以降の負荷テストの結果と比較する際の基準として使用するので,[いいえ]をクリックします。[結果ディレクトリの設定]ダイアログ・ボックスが表示されます。
新しい結果フォルダを指定します。グラフを分析する際にいくつかのシナリオ実行結果を重ね合わせることができるように,結果セットごとに,わかりやすい一意の名前を入力します。
Controller のオンライン・グラフは,モニタによって収集されたパフォーマンス・データを表示するのに使用します。この情報を使用して,システム環境において潜在的な問題のある領域を特定します。
パフォーマンス・グラフを検証します。
[実行]タブの[グラフの表示]ペインには,以下の標準グラフが表示されます。
スループット情報を表示します。
[利用可能なグラフ]ペインの[Web リソース グラフ]の下で[スループット]グラフを選択し,[グラフの表示]ペインまでドラッグします。[スループット]グラフの測定値が[グラフの表示]ペインと[グラフの凡例]ペインに表示されます。
[スループット]グラフには,任意の指定された 1 秒間に仮想ユーザがサーバから受け取ったデータ量(バイト単位)が示されます。このグラフと[トランザクション応答時間]グラフとを比較することで,スループットがトランザクションのパフォーマンスに与える影響を調べることができます。
時間の経過と仮想ユーザ数の増加に伴ってスループットが増えている場合は,帯域幅が十分なことを示しています。仮想ユーザ数が増加してもグラフが比較的平坦な場合は,提供されているデータの量が帯域幅によって制限されていると考えられます。
ユーザをエミュレートするときは,仮想ユーザのアクションをリアルタイムで表示し,各ユーザが正しいアクションを実行していることを確かめることができます。Controller では,実行時ビューアを使用してアクションをリアルタイムで表示できます。
仮想ユーザのアクションを視覚的に観測するには,次の手順を実行します。
Controller の[実行]タブで,[仮想ユーザ]ボタンをクリックします。[Vusers]ダイアログ・ボックスが開きます。
[ステータス]カラムに,各仮想ユーザのステータスが表示されます。前の例では 4 個の仮想ユーザのステータスが実行中で,別の 4 個の仮想ユーザのステータスがダウンであることがわかります。スケジューラの[仮想ユーザ開始]アクションによって,一度に 2 個の仮想ユーザを解放するよう Controller に指示されました。シナリオの実行が進むと,引き続き仮想ユーザが 30 秒間隔でグループごとに 2 個追加されます。
仮想ユーザ・リストで,実行中の仮想ユーザを選択します。
仮想ユーザ・ツールバーの[選択した仮想ユーザを表示]ボタンをクリックします。実行時ビューアが表示され,選択した仮想ユーザが実行しているアクションが表示されます。仮想ユーザ・スクリプトのステップを仮想ユーザがひととおり実行するにつれて,実行時ビューアが更新されます。
仮想ユーザ・ツールバーの[選択した仮想ユーザを非表示]ボタン をクリックして,実行時ビューアを閉じます。
テスト実行中における個々の仮想ユーザの進行状況を確認するために,仮想ユーザのアクションのテキスト・サマリが格納されたログ・ファイルを表示できます。
仮想ユーザのアクションのテキスト・サマリを確認するには,次の手順を実行します。
仮想ユーザ・ツールバーの[仮想ユーザ ログの表示]ボタン をクリックします。[仮想ユーザ ログ]ダイアログ・ボックスが開きます。
ログには,仮想ユーザのアクションに対応したメッセージがあります。たとえば,このウィンドウにあるメッセージ「仮想ユーザ・スクリプトが開始されました」は,仮想ユーザの実行の開始を示しています。ログの最後までスクロールし,仮想ユーザがアクションを実行するごとに新しいメッセージが追加されていることを確かめます。
[仮想ユーザ ログ]ダイアログ・ボックスと[仮想ユーザ]ダイアログ・ボックスを閉じます。
より多くのユーザを手動で追加することによって,負荷テストの実行中にシステムにかかる負荷を増やすことができます。
[Vusers ユーザの実行/停止]ボタンをクリックします。[Vusers の実行/停止]ダイアログ・ボックスが開き,シナリオの中で実行するために現在割り当てられている仮想ユーザの数が表示されます。
[数]カラムには,グループに追加する仮想ユーザの数を入力します。2 個の仮想ユーザを追加して実行するには,[数]カラムの数値 8 を数値 2 に置き換えます。
[実行]をクリックして仮想ユーザを追加します。
元の仮想ユーザのいくつかがまだ初期化されていない場合は,[初期化して実行]および[新規実行]オプションが表示されます。[新規実行]オプションを選択します。
これら 2 個の追加の仮想ユーザは travel_agent グループに配分され,localhost Load Generator で実行されます。これで,[シナリオ ステータス]ペインには,10 個の仮想ユーザが実行されていることが示されます。
[シナリオ ステータス]ペイン([実行]タブにあります)に実行中のシナリオのサマリを確認します。[シナリオ ステータス]ペインでは,どの仮想ユーザのアクションがアプリケーションの問題の原因になっているかをドリルダウンして調べることができます。失敗トランザクションやエラーの数が多い場合,アプリケーションが負荷のかかった状態で期待どおりに実行されていないことを示す場合があります。
シナリオのステータスを表示します。
[シナリオ ステータス]ペインのヘッダに,シナリオの全体的なステータスが表示されます。
仮想ユーザ・アクションのブレークダウンを表示します。
大きな負荷のかかった状態でアプリケーションが失敗し始める場合は,エラーや失敗トランザクションが発生した可能性があります。Controller はこれらのエラー・メッセージを[出力ウィンドウ]に表示します。
ログ情報の詳細を表示します。
エラー・コードに関連する,個々のメッセージ,仮想ユーザ,スクリプト,および Load Generator の情報は,該当するカラムの青いリンクをクリックして表示できます。
たとえば,スクリプトの中でエラーが発生した場所を探すには,[メッセージの総数]カラムをドリルダウンします。[出力ウィンドウ]には,選択したエラー・コードのすべてのメッセージが一覧表示されます。また,時間,反復数,およびエラーが発生したスクリプト内の行も表示されます。
[行番号]カラムをドリルダウンします。
VuGen が開き,エラーが発生したスクリプト内の行が表示されます。これらの情報をもとに,負荷時においてアプリケーションが失敗する原因となっている,応答時間の遅いトランザクションを特定できます。
シナリオの実行が完了すると,[シナリオ ステータス]ペインのヘッダに「ダウン」ステータスが表示されます。これは,シナリオのすべての仮想ユーザの実行が完了したことを示します。
[仮想ユーザ]ダイアログ・ボックスを開いて個々の仮想ユーザのステータスを調べることができます。[Vusers]ダイアログ・ボックスには,各仮想ユーザが実行を繰り返した反復回数,成功した反復の数,および経過時間が表示されます。
システムが負荷のかかった状態で良好に実行されたかどうかを確かめるためには,トランザクションの応答時間を調べ,その応答時間が許容し得る範囲内に収まったかどうかを確かめる必要があります。シナリオ中にトランザクションの応答時間が長くなっている場合は,ボトルネックを突き止める必要があります。これについては,「練習 7: シナリオの分析」でさらに詳しく学びます。
問題を切り分けたら,開発者,DBA,ネットワークその他のシステム技術者とともに,問題を修正するための共同作業が必要になります。調整作業が完了したら,負荷テストを繰り返し実行して,望ましい結果が得られることを確認します。以上の過程を繰り返すことによって,システムのパフォーマンスを最適化します。
同じ設定で再度実行できるようにシナリオを保存するには,[ファイル]>[保存]をクリックするか,Controller のツールバーの[上書き保存]ボタン をクリックします。
以上で,簡単な負荷テスト・シナリオの実行と表示の方法について学びました。次に,「練習 7: シナリオの分析」に進みます。
|