LoadRunner チュートリアル > 練習 6: 負荷テストの実行

練習 6: 負荷テストの実行

負荷テストを実行すると,LoadRunner により,システムに対して負荷が生成されます。この後,LoadRunner のモニタとグラフを使用して,負荷がかかった場合のシステムのパフォーマンスを観察できます。

この練習は,次の項目で構成されています。

Controller の実行ビューの概要

Controller の[実行]タブは,シナリオの管理および監視を行うための中心となる場所です。[実行]タブ(Controller ウィンドウの下部)は,5 つのペインで構成されます。

  1. [シナリオ グループ]ペイン: 左上のペインには,シナリオ・グループの仮想ユーザのステータスが表示されます。このペインの右側にあるボタンを使用して,シナリオの開始,停止,およびリセットを行い,個々の仮想ユーザのステータスを表示します。また,仮想ユーザを手動でさらに追加してシナリオ実行中にアプリケーションに対する負荷を増やすためのボタンもあります。
  2. [シナリオ ステータス]ペイン: 右上のペインで,実行中の仮想ユーザの数や,仮想ユーザの個々のアクションのステータスなど,負荷テストのサマリを表示できます。
  3. [利用可能なグラフ]ペイン。 左側の中央のペインには,LoadRunner グラフのリストが表示されます。グラフを開くには,ツリーでグラフを選択し,グラフ・表示領域にドラッグします。
  4. [グラフの表示]ペイン:右側の中央のペインでは,1 ~ 8 個のグラフが表示されるようにカスタマイズできます([表示]>[グラフの表示])。
  5. [グラフの凡例]ペイン: 下部のペインには,選択したグラフのデータが表示されます。

    注: [実行]タブのコントロールは Controller の下部にあります。

負荷テスト・シナリオの実行方法

本項では,シナリオを開始します。

  1. Controller の実行ビューを開きます。

    Controller の下部の[実行]タブをクリックします。

    シナリオ グループ]ペインの[ダウン]カラムに 8 個の仮想ユーザが存在することがわかります。これらはシナリオの作成時に作成した仮想ユーザです。

    シナリオはまだ実行されていないため,ほかのカウンタはすべて 0 のままで,グラフ表示領域内のグラフは([Windows リソース]を除き)すべて空になっています。次の手順でシナリオの実行を開始すると,グラフとカウンタは情報を表示し始めます。

  2. シナリオを開始します。

    シナリオの開始]ボタンをクリックするか,[シナリオ]>[開始]を選択して,シナリオの実行を開始します。

    チュートリアルを初めて実行している場合は,Controller によってシナリオが開始されます。結果のファイルは Load Generator の temp フォルダに自動的に保存されます。

    テストを繰り返す場合は,既存の結果ファイルを上書きしてもよいか尋ねられます。初回の負荷テストの場合は,その結果を以降の負荷テストの結果と比較する際の基準として使用するので,[いいえ]をクリックします。[結果ディレクトリの設定]ダイアログ・ボックスが表示されます。

    新しい結果フォルダを指定します。グラフを分析する際にいくつかのシナリオ実行結果を重ね合わせることができるように,結果セットごとに,わかりやすい一意の名前を入力します。

負荷下のアプリケーションの監視方法

Controller のオンライン・グラフは,モニタによって収集されたパフォーマンス・データを表示するのに使用します。この情報を使用して,システム環境において潜在的な問題のある領域を特定します。

  1. パフォーマンス・グラフを検証します。

    [実行]タブの[グラフの表示]ペインには,以下の標準グラフが表示されます。

    1. [実行中の仮想ユーザ - シナリオ全体]グラフ: 任意の時点において実行されている仮想ユーザの数を表示します。

    2. [トランザクション応答時間 - シナリオ全体]グラフ: 各トランザクションが完了するのに要した時間を表示します。

    3. [秒ごとのヒット数 - シナリオ全体]グラフ: シナリオ実行時の経過秒ごとの,仮想ユーザが Web サーバに対して行ったヒット(HTTP 要求)の数を表示します。

    4. [Windows リソース]グラフ: シナリオの実行中に測定された Windows のリソースが表示されます

  2. 個々の測定値を強調表示します。
    1. [Windows リソース]グラフをダブルクリックすると,[グラフの表示]ペイン全体に合わせて拡大表示されます。各測定値は,[グラフの凡例]ペインの色分けされた行に表示されます。各行は,グラフ上の同じ色の線に対応しています。
    2. 行を選択すると,対応するグラフの線が強調表示されます。また,その逆の場合も同様です。
    3. グラフを元のサイズに縮小するには,グラフをもう一度ダブルクリックします。
  3. スループット情報を表示します。

    [利用可能なグラフ]ペインの[Web リソース グラフ]の下で[スループット]グラフを選択し,[グラフの表示]ペインまでドラッグします。[スループット]グラフの測定値が[グラフの表示]ペインと[グラフの凡例]ペインに表示されます。

    [スループット]グラフには,任意の指定された 1 秒間に仮想ユーザがサーバから受け取ったデータ量(バイト単位)が示されます。このグラフと[トランザクション応答時間]グラフとを比較することで,スループットがトランザクションのパフォーマンスに与える影響を調べることができます。

    時間の経過と仮想ユーザ数の増加に伴ってスループットが増えている場合は,帯域幅が十分なことを示しています。仮想ユーザ数が増加してもグラフが比較的平坦な場合は,提供されているデータの量が帯域幅によって制限されていると考えられます。

リアルタイムで実行しているユーザの監視方法

ユーザをエミュレートするときは,仮想ユーザのアクションをリアルタイムで表示し,各ユーザが正しいアクションを実行していることを確かめることができます。Controller では,実行時ビューアを使用してアクションをリアルタイムで表示できます。

仮想ユーザのアクションを視覚的に観測するには,次の手順を実行します。

  1. Controller の[実行]タブで,[仮想ユーザ]ボタンをクリックします。[Vusers]ダイアログ・ボックスが開きます。

    ステータス]カラムに,各仮想ユーザのステータスが表示されます。前の例では 4 個の仮想ユーザのステータスが実行中で,別の 4 個の仮想ユーザのステータスがダウンであることがわかります。スケジューラの[仮想ユーザ開始]アクションによって,一度に 2 個の仮想ユーザを解放するよう Controller に指示されました。シナリオの実行が進むと,引き続き仮想ユーザが 30 秒間隔でグループごとに 2 個追加されます。

  2. 仮想ユーザ・リストで,実行中の仮想ユーザを選択します。

  3. 仮想ユーザ・ツールバーの[選択した仮想ユーザを表示]ボタンをクリックします。実行時ビューアが表示され,選択した仮想ユーザが実行しているアクションが表示されます。仮想ユーザ・スクリプトのステップを仮想ユーザがひととおり実行するにつれて,実行時ビューアが更新されます。

  4. 仮想ユーザ・ツールバーの[選択した仮想ユーザを非表示]ボタン をクリックして,実行時ビューアを閉じます。

仮想ユーザ・アクションのサマリの表示場所

テスト実行中における個々の仮想ユーザの進行状況を確認するために,仮想ユーザのアクションのテキスト・サマリが格納されたログ・ファイルを表示できます。

仮想ユーザのアクションのテキスト・サマリを確認するには,次の手順を実行します。

  1. [仮想ユーザ]ウィンドウで,実行中の仮想ユーザを選択します。
  2. 仮想ユーザ・ツールバーの[仮想ユーザ ログの表示]ボタン をクリックします。[仮想ユーザ ログ]ダイアログ・ボックスが開きます。

    ログには,仮想ユーザのアクションに対応したメッセージがあります。たとえば,このウィンドウにあるメッセージ「仮想ユーザ・スクリプトが開始されました」は,仮想ユーザの実行の開始を示しています。ログの最後までスクロールし,仮想ユーザがアクションを実行するごとに新しいメッセージが追加されていることを確かめます。

  3. [仮想ユーザ ログ]ダイアログ・ボックスと[仮想ユーザ]ダイアログ・ボックスを閉じます。

テスト中に負荷を増やす方法

より多くのユーザを手動で追加することによって,負荷テストの実行中にシステムにかかる負荷を増やすことができます。

  1. 負荷テスト中に負荷を増やすには,次の手順を実行します。
    1. Controller で[実行]タブが表示されていることを確認します。
    2. Vusers ユーザの実行/停止]ボタンをクリックします。[Vusers の実行/停止]ダイアログ・ボックスが開き,シナリオの中で実行するために現在割り当てられている仮想ユーザの数が表示されます。

    3. ]カラムには,グループに追加する仮想ユーザの数を入力します。2 個の仮想ユーザを追加して実行するには,[]カラムの数値 8 を数値 2 に置き換えます。

    4. 実行]をクリックして仮想ユーザを追加します。

    5. 元の仮想ユーザのいくつかがまだ初期化されていない場合は,[初期化して実行]および[新規実行]オプションが表示されます。[新規実行]オプションを選択します。

      これら 2 個の追加の仮想ユーザは travel_agent グループに配分され,localhost Load Generator で実行されます。これで,[シナリオ ステータス]ペインには,10 個の仮想ユーザが実行されていることが示されます。

      追加された仮想ユーザを LoadRunner Controller が起動できないことを示す警告メッセージが表示されることがあります。これは,ローカル・マシンを Load Generator として使用していて,メモリ・リソースが限られていることが原因で起こります。この問題を避けるため,ほとんどの場合,専用のマシンを Load Generator として使用します。

負荷下のアプリケーションの動作方法

[シナリオ ステータス]ペイン([実行]タブにあります)に実行中のシナリオのサマリを確認します。[シナリオ ステータス]ペインでは,どの仮想ユーザのアクションがアプリケーションの問題の原因になっているかをドリルダウンして調べることができます。失敗トランザクションやエラーの数が多い場合,アプリケーションが負荷のかかった状態で期待どおりに実行されていないことを示す場合があります。

  1. シナリオのステータスを表示します。

    [シナリオ ステータス]ペインのヘッダに,シナリオの全体的なステータスが表示されます。

  2. 仮想ユーザ・アクションのブレークダウンを表示します。

    1. [シナリオ ステータス]ペインにある[成功したトランザクション]をクリックします。[トランザクション]ダイアログ・ボックスが開き,トランザクションの詳細のリストが表示されます。

    2. 閉じる]をクリックし,[トランザクション]ダイアログ・ボックスを閉じます。

アプリケーションでエラーが発生したかどうか

大きな負荷のかかった状態でアプリケーションが失敗し始める場合は,エラーや失敗トランザクションが発生した可能性があります。Controller はこれらのエラー・メッセージを[出力ウィンドウ]に表示します。

  1. エラーまたは警告メッセージがないか確認します。
    1. [表示]>[出力メッセージを表示]を選択します。[警告]や[エラー]など,タイプによってメッセージをソートできます。

      [出力メッセージ]ダイアログ・ボックスが開き,メッセージ・テキスト,生成されたメッセージの総数,エラーを生成した仮想ユーザと Load Generator,およびエラーが発生したスクリプトが表示されます。

    2. メッセージの詳細を表示するには,そのメッセージを選択して,[詳細]をクリックします。[詳細メッセージ テキスト]ボックスが開き,詳しいメッセージ・テキストが表示されます。

  2. ログ情報の詳細を表示します。

    エラー・コードに関連する,個々のメッセージ,仮想ユーザ,スクリプト,および Load Generator の情報は,該当するカラムの青いリンクをクリックして表示できます。

    たとえば,スクリプトの中でエラーが発生した場所を探すには,[メッセージの総数]カラムをドリルダウンします。[出力ウィンドウ]には,選択したエラー・コードのすべてのメッセージが一覧表示されます。また,時間,反復数,およびエラーが発生したスクリプト内の行も表示されます。

  3. [行番号]カラムをドリルダウンします。

    VuGen が開き,エラーが発生したスクリプト内の行が表示されます。これらの情報をもとに,負荷時においてアプリケーションが失敗する原因となっている,応答時間の遅いトランザクションを特定できます。

シナリオの実行が完了したことを知る方法

シナリオの実行が完了すると,[シナリオ ステータス]ペインのヘッダに「ダウン」ステータスが表示されます。これは,シナリオのすべての仮想ユーザの実行が完了したことを示します。

[仮想ユーザ]ダイアログ・ボックスを開いて個々の仮想ユーザのステータスを調べることができます。[Vusers]ダイアログ・ボックスには,各仮想ユーザが実行を繰り返した反復回数,成功した反復の数,および経過時間が表示されます。

システムが負荷のかかった状態で良好に実行されたかどうか

システムが負荷のかかった状態で良好に実行されたかどうかを確かめるためには,トランザクションの応答時間を調べ,その応答時間が許容し得る範囲内に収まったかどうかを確かめる必要があります。シナリオ中にトランザクションの応答時間が長くなっている場合は,ボトルネックを突き止める必要があります。これについては,「練習 7: シナリオの分析」でさらに詳しく学びます。

問題を切り分けたら,開発者,DBA,ネットワークその他のシステム技術者とともに,問題を修正するための共同作業が必要になります。調整作業が完了したら,負荷テストを繰り返し実行して,望ましい結果が得られることを確認します。以上の過程を繰り返すことによって,システムのパフォーマンスを最適化します。

同じ設定で再度実行できるようにシナリオを保存するには,[ファイル]>[保存]をクリックするか,Controller のツールバーの[上書き保存]ボタン をクリックします。

次の練習について

以上で,簡単な負荷テスト・シナリオの実行と表示の方法について学びました。次に,「練習 7: シナリオの分析」に進みます。


© 1993-2014 Hewlett-Packard Development Company, L.P.