前の練習では,VuGen を使用して仮想ユーザ・スクリプトを検証しました。この練習では,複数の仮想ユーザの負荷がかかった状態でシステムを評価します。10 か所の旅行代理店による,フライト予約システムを使用した同時操作をエミュレートし,こうしたユーザの負荷がかかった状態でシステムの動作を観察します。このテストを設計して実行するには,LoadRunner Controller を使用します。
シナリオの目標
この練習の目標は,10 か所の旅行代理店がシステムに対して同時にログオンし,フライトの検索と購入および日程のチェックを行い,ログオフするまでの動作をエミュレートするシナリオを作成することです。
この練習は,次の項目で構成されています。
負荷テストとは,一般的な作業条件の下でシステムをテストすることです。たとえば,多数の旅行代理店が同じフライト予約システムで同時にフライトを予約する場合のシステムのテストがあります。
テストを設計する際は,実際の状況をエミュレートするように設計します。このためには,アプリケーションに対して負荷を生成できることと,負荷をいつ適用するのかについてスケジュールを設定できること(複数のユーザがシステムに対してログオンとログオフをまったく同時に実行することはないため)が必要になります。また,さまざまな種類にわたるユーザの操作や動作をエミュレートする必要もあります。たとえば,一部のユーザが Firefox を使用してシステムにアクセスし,一部のユーザが Internet Explorer を使用してアクセスする場合があります。また,モデム,DSL,ケーブルなど,異なるネットワーク接続を使用するユーザがいる場合もあります。これらの設定を,シナリオの中に作成して保存します。
作業環境を正確にエミュレートできるように,Controller にはテストの作成と実行の作業に必要なツールがすべて含まれています。
シナリオ作成を開始するには,LoadRunner Controller を開きます。
HP LoadRunner Controller を開きます。
[スタート]>[すべてのプログラム]>[HP Software]>[HP LoadRunner]>[Controller]を選択するか,デスクトップで[Controller]ショートカット・アイコンをクリックします。
HP LoadRunner Controller が起動し,[新規シナリオ]ダイアログ・ボックスが表示されます。
シナリオのタイプを選択します。
2 種類のシナリオ・タイプが存在します。
「マニュアル・シナリオ」では,実行中の仮想ユーザの数や仮想ユーザの実行回数を制御でき,いくつの仮想ユーザをアプリケーションで同時に実行できるかをテストできます。パーセント・モードを使用すると,ビジネス・アナリストが指定するパーセントに基づいて,スクリプト間での仮想ユーザの総数を配分できます。インストール後,最初に LoadRunner を起動すると[パーセント モード]チェック・ボックスは標準で選択されています。選択されている場合は,クリアします。
「ゴール指向シナリオ」は,システムが特定のゴール(目標)を達成できるかどうかを調べるのに使用します。たとえば,特定のトランザクション応答時間,秒ごとのヒット数,秒ごとのトランザクション数などに基づいてゴールを決定すると,LoadRunner によって,それらのゴールに基づくシナリオが自動的に作成されます。
仮想ユーザ・スクリプトを負荷テストに追加します。
このチュートリアルでは,仮想ユーザ・スクリプトを 1 つだけ使用して,同じアクションを実行する 1 つのユーザ・グループをモデル化します。より多様なユーザ・プロファイルを使用して現実世界のシナリオをより正確にエミュレートするには,多数の異なる仮想ユーザ・グループを作成し,各グループで異なるユーザ設定を持つ複数のスクリプトを実行します。
以前に VuGen で記録したスクリプトには,テストを必要とするビジネス・プロセスが含まれています。これらのビジネス・プロセスには,ログオン,フライトの検索,フライトの購入,フライト日程のチェック,およびサイトからのログオフまでの過程が含まれています。同様のスクリプトをシナリオに追加し,これらのアクションをフライト予約システムで同時に実行する 8 つの旅行代理店をエミュレートするよう,シナリオを設定します。また,テスト中にさらに 2 人の仮想ユーザを追加します。
このために,前の手順で作成したスクリプトとほぼ同じサンプル・スクリプトが用意されています。このサンプル・スクリプトを使用することをお勧めします。
basic_script がすでに[利用可能なスクリプト]ペインにある場合,[追加]ボタンをクリックしてスクリプトを[シナリオのスクリプト]ペインに移動します。
basic_script が[利用可能なスクリプト]ペインにない場合は,[参照]ボタンをクリックします。<LoadRunner インストール場所>\Tutorial フォルダで basic_script を探します。[開く]をクリックします。[追加]ボタンをクリックしてスクリプトを[シナリオのスクリプト]ペインに移動します。
[OK]をクリックします。LoadRunner Controller が起動し,新しいシナリオの[デザイン]タブが表示されます。
注: [デザイン]タブのコントロールは Controller の左下にあります。
Controller の[デザイン]タブは,負荷テストを設計するための主なインタフェースです。[デザイン]タブは以下の 3 つのペインにわかれています。
シナリオの詳細は次の方法で変更します。
basic_script が[シナリオ グループ]ペインの[グループ名]カラムに表示されていることを確認します。
[グループ名]を変更します。
仮想ユーザ・スクリプトをシナリオに追加した後で,システムで負荷を生成するコンピュータである Load Generator を設定します。
本項では,シナリオへの Load Generator の追加と,Load Generator への接続のテストについて学びます。
Load Generator を追加します。
Controller ツールバーの[Load Generators]ボタン をクリックします。[Load Generator]ダイアログ・ボックスが開きます。
[Load Generator]ダイアログ・ボックスでは,シナリオで定義された Load Generator を表示して設定できます。[Load Generator]ダイアログ・ボックスには,localhost という名前の Load Generator の詳細が表示されます。localhost Load Generator のステータスは[ダウン]です。これは,Controller が localhost という名前の Load Generator に接続されていないことを示します。
このチュートリアルでは,ローカル・コンピュータを Load Generator として使用します。
注: 標準的な実稼動システムでは,Load Generator が複数あり,それぞれが複数の仮想ユーザのホストになります。
Load Generator への接続をテストします。
シナリオを実行すると,Controller が自動的に Load Generator に接続します。ただし,シナリオの実行を試みる前に接続をテストできます。
[Load Generator]ダイアログ・ボックスで,localhost を選択して[接続]をクリックします。
Controller が Load Generator マシンへの接続を試みます。接続が確立されると,Load Generator の[ステータス]が「ダウン」から「準備完了」に変わります。
Load Generator の追加が完了すると,負荷動作を設定できるようになります。
通常,複数のユーザがシステムに対してまったく同時にログオンとログオフを実行することはありません。LoadRunner では,システムに対するユーザのログオンとログオフを段階的に実行することが可能です。また,シナリオの期間やシナリオの終了方法も決めることができます。次に設定するシナリオは比較的シンプルです。ただし,現実のシナリオをより正確に反映したシナリオをデザインする場合,より現実に近い仮想ユーザの動作を定義することができます。
Controller の[シナリオのスケジュール]ペインでマニュアル・シナリオの負荷の動作を設定します。[シナリオのスケジュール]ペインは,[スケジュールの定義]領域,[アクション]グリッド,および[対話式スケジュール グラフ]の 3 つのセクションにわかれています。
ここで,標準の負荷設定を変更し,シナリオ・スケジュールを設定します。
スケジュール・アクションの定義を設定します。
[全体スケジュール]グリッドから,または対話式スケジュールグラフを操作することで,シナリオのスケジュールに[仮想ユーザ開始],[実行時間],および[仮想ユーザの停止]のアクションを設定できます。グラフから定義を設定した場合,[全体スケジュール]グリッドのプロパティは必要に応じて調整されます。
定義を設定し,[全体スケジュール]グリッドが次のようになるようにします。
仮想ユーザの初期化を設定します。
初期化とは,スクリプトで vuser_init アクションを実行し,負荷テストのための Vuser および Load Generator を準備することです。システム構成によっては,仮想ユーザを実行する前に初期化することで,より現実に近い結果が得られる場合があります。
仮想ユーザの段階的な開始を指定します。
仮想ユーザを間隔を開けて起動することにより,サイトにおける仮想ユーザの負荷が時間とともに段階的に増える状況を調べることができ,どの時点でシステムの応答時間が低下するのかを正確に特定するのに役立ちます。
期間のスケジュールを設定します。
期間を指定し,仮想ユーザがその指定の期間の間,スケジュール・アクションの実行を必ず続行するようにし,サーバにかかる連続的な負荷を測定できるようにします。期間を設定した場合には,スクリプトの実行環境の設定の中で設定した反復数に関係なく,スクリプトはその期間の間,必要な回数だけ何回でも反復して実行されます。
対話式スケジュール・グラフで,実行時間を表す水平線をクリックします。線が強調表示され,両端に点とひし形が表示されます。
段階的に終了するようスケジュールを設定します。
アプリケーションがしきい値に達した後にメモリ・リークの検出やシステム復旧のチェックができるように,仮想ユーザを段階的に停止することをお勧めします。
負荷スケジュールの設定が完了したら,テスト中の仮想ユーザの動作を指定します。
実際のユーザをエミュレートするときは,ユーザの実際の動作を考慮する必要があります。動作には,ユーザがアクションの合間に一時停止する時間や,ユーザがアクションを繰り返す回数などがあります。
本項では,LoadRunner の実行環境設定について学び,思考遅延時間とログを有効にします。
[シナリオ グループ]ツールバーの[実行環境設定]ボタン をクリックします。[実行環境設定]ダイアログ・ボックスが開きます。
実行環境の設定では,さまざまな種類にわたるユーザの操作や動作をエミュレートできます。説明する項目は次のとおりです。
[実行論理]: 仮想ユーザが 1 組のアクションを繰り返す回数。
[ペースの設定]: アクションを繰り返す前の待ち時間。
[ログ]: テスト中に収集したい情報のレベル。シナリオを初めて実行するときは,最初の実行が失敗した場合にデバッグ情報が得られるように,ログ・メッセージを生成することをお勧めします。
[思考遅延時間]: ステップ間でユーザが考えるために動作を停止する時間。ユーザは各自の経験レベルや目的に応じてアプリケーションとやり取りします。そのため,技術的に習熟したユーザの方が新規ユーザよりもすばやく作業を進める可能性があります。思考遅延時間を有効にすることによって,負荷テスト中に実際のユーザをより正確にエミュレートするよう,仮想ユーザを設定できます。
[速度のシミュレーション]: モデム,DSL,ケーブルなどの異なるネットワーク接続を使用するユーザ。
[ブラウザのエミュレーション]: さまざまなブラウザを使用してアプリケーションのパフォーマンスを確認するユーザ。
[コンテンツ チェック]: ユーザ定義のエラーを自動的に検出します。
エラーが発生したときにアプリケーションからカスタム・ページを送信するとします。このカスタム・ページには必ず単語「ASP Error」が含まれており,サーバから返されるすべてのページを検索して,テキスト「ASP Error」が存在するかどうかを調べる必要があります。
実行環境設定の[コンテンツ チェック]を使用すると,テストの実行中にこのテキストを自動的に検索するよう LoadRunner を設定できます。LoadRunner によってテキストが検索され,検出された場合はエラーが生成されます。シナリオの実行中に,コンテンツ・チェックのエラーを特定できます。
テストにおける仮想ユーザの動作の設定が完了したら,モニタを設定します。
アプリケーションへの負荷の生成中に,アプリケーションがリアルタイムでどのように動作するか,また潜在的なボトルネックがどこに存在するか確認します。負荷テスト中にシステムの層,サーバ,コンポーネントごとのパフォーマンスを測定するには,LoadRunner の統合モニタ・スイートを使用します。LoadRunner には,Web サーバ,アプリケーション・サーバ,データベース・サーバ,ERP/CRM サーバなど,さまざまな主要バックエンド・システム・コンポーネントに対応したモニタがあります。
たとえば,稼働中の Web サーバのタイプに応じた Web サーバ・リソース・モニタを選択できます。また,たとえば IIS など関連するモニタ用のライセンスを購入し,そのモニタを使用して,IIS リソースに反映された問題を特定できます。
本項では,Windows リソース・モニタの追加方法と設定方法を学びます。このモニタを使用すると,CPU,ディスク,メモリの各リソースについて,負荷の影響を調べることができます。
モニタを起動します。
[Windows リソース]ダイアログ・ボックスで[OK]をクリックすると,ダイアログ・ボックスが閉じてモニタが起動します。
この練習で,負荷テスト・シナリオをデザインする作業が完了しました。次に,「練習 6: 負荷テストの実行」に進みます。
|