このチュートリアルでは、Oracle Load Testingの主な機能について順を追って説明しています。Oracle Load TestingはOracle Application Testing Suiteの独立した製品で、Oracle Application Testing Suiteとは別途にご購入いただく必要がある場合があります。Oracle Application Testing SuiteのOracle Load Testingバージョンをお持ちの場合は、この章の例に従ってOracle Load Testingの機能と使用方法を習得できます。
このチュートリアルは次の例から構成されています。
簡単な負荷テストの実行: Oracle Load Testingを使用して、仮想ユーザーを実行してWebアプリケーション上の負荷をシミュレートする方法を示します。
データソースの追加: CPU使用率および使用可能なメモリーなどのサーバー側統計を監視する場合に、Oracle Load Testing ServerStats設定にデータソースを追加する方法を示します。
データソースの編集: 既存のOracle Load Testing ServerStats設定を編集して、特定のカウンタを変更する方法を示します。
複数プロファイルのシナリオを作成: Oracle Load Testingシナリオに新規スクリプトを追加する方法を示します。また、「レポート」オプションおよび「開始/停止」オプションを設定して、実行後の分析用にデータを保存する方法も示されています。
複数プロファイルの実行: Oracle Load Testingを使用して、異なる数の仮想ユーザーが設定された複数のシナリオ・プロファイルを実行する方法、および統計とパフォーマンス情報を参照する方法を示します。
仮想ユーザーの制御: 個別の仮想ユーザーの属性変更、アクションの表示、仮想ユーザーの停止および中止などの方法を示します。
レポートの生成: デフォルトのレポートを参照し、実行後の分析用のレポートを生成する方法を示します。
このチュートリアルは、第3章「Oracle OpenScriptチュートリアル」からの続きで、始めから終わりまで通して実行することを想定しています。このチュートリアル内の例は、「Oracle OpenScriptチュートリアル」で記録されたスクリプトを使用しています。
この例では、Oracle Load Testingを使用して、仮想ユーザーを実行してWebアプリケーション上の負荷をシミュレートする方法を示します。この例では、すでに記録されているスクリプトを実行して、複数のユーザーがWebアプリケーションにアクセスする状況をシミュレートする方法を説明します。
注意: このセクションでは、Oracle Application Testing Suiteからのデフォルトのログイン情報を使用しています。 |
Oracle Load Testingを起動するには、次のようにします。
「開始」メニューからプログラムを選択してOracle Application Testing Suiteのスタート・メニューからOracle Load Testingを選択します。
ユーザー名にadministratorと入力します。
Oracle Application Testing Suiteのインストール処理中に指定したパスワードを入力します。
「ログイン」をクリックします。次のようにメイン・ウィンドウが表示されます。
「ワークスペース」リストでDefaultを選択します。
Oracle Load Testingで「シナリオの設定」タブが表示されていることを確認します。
「スクリプトの選択」リストでHTTPTutor1を選択します。これらはOracle OpenScriptで記録したスクリプトです。Oracle OpenScriptスクリプトの場合、負荷テストと一般的なスクリプトのみリストに表示されます。機能テストのスクリプトは表示されません。
「シナリオに追加」 ボタンをクリックしてHTTPTutor1をパラメータの設定 リストに追加します。スクリプト名をダブルクリックして、パラメータの設定リストに追加することもできます。
Oracle Load Testingにより「シナリオ」タブのシナリオ・プロファイルにデフォルトの仮想ユーザー属性のセットが自動的に指定されます。この例ではデフォルトの属性を使用します。
「シナリオの設定」タブで「オートパイロットへ追加」ボタンをクリックします。
Oracle Load Testingで自動的に「オートパイロットの設定」タブが開き、「サブミット済みシナリオ プロファイル」リストにHTTPTutor1シナリオ・プロファイルが表示されています。
オートパイロットタブの「負荷テストの停止」グループで各ユーザーが[#]反復回終了後オプションを選択します。
「各ユーザーが」の編集ボックスに5と入力します。
「仮想ユーザ (VU) の増加設定」グループの「増加単位」の下で[#]ユーザーを選択します。
「増加単位」の[#]ユーザーの編集ボックスに1と入力します。
[#]秒後の編集ボックスに10と入力します。
セッションのデータを記録するかどうかを確認するダイアログ・ボックスが表示されたら「はい」を選択し、「OK」をクリックします。
Oracle Load Testingで、仮想ユーザー・グリッド内の仮想ユーザーの実行が開始します。オートパイロットにより、HTTPTutor1スクリプトが10人の仮想ユーザーで実行されます。
仮想ユーザーの全員が、仮想ユーザー・グリッドの「ステータス」列に終了と表示されるまで実行します。
おめでとう。ここまでの手順で、デモWebアプリケーション上で簡単な負荷テストを実行することができました。Oracle Load Testingは、バックグラウンドで仮想ユーザーのWebインタラクションを実行します。グリッドで、実行中の仮想ユーザーを監視できます。この後の例ではOracle Load Testingを使用して統計情報やパフォーマンス情報、仮想ユーザーの行動を表示する方法を学びます。
この例では、CPU使用率および使用可能なメモリーなどのサーバー側の統計情報を監視する場合に、Oracle Load Testing ServerStats設定にデータソースを追加する方法を示します。
Oracle Load Testing ServerStatsコンポーネントでは、様々なタイプのシステムやサーバーからの統計情報を監視できます。このチュートリアルでは、ローカルWindows 200x/XPシステムからカウンタを追加することにより、Oracle Load Testing ServerStatsの機能を説明します。Oracle Application Testing SuiteをWindows 200x/XPマシン上で実行していない場合は、例2および3を省略して例4に進んでください。
Windows 200x/XPデータソースからのカウンタを設定するには、次の手順を行います。
「ServerStats」メニューから「設定」を選択します。Oracle Load Testingで「ServerStats 設定」ウィンドウが開きます。
「新規」をクリックして、新規設定を追加します。
「名前」および「詳細」にTutorialと入力します。
「保存」をクリックします。「設定」ウィンドウに、モニター設定オプションが表示されます。
データソースの横にある正符号アイコンをクリックして、データソースのリストを展開します。
「Perfmon (Windows パフォーマンス モニター)」を選択し、「次」をクリックします。
このステップでは、監視する対象、およびデータ・コレクタに使用するシステムを指定できます。
「次」をクリックし、監視する特定のカウンタを選択します。
「追加」をクリックします。カウンタが「カウンタ」リストに追加されます。
「パフォーマンス オブジェクト」リストでMemoryを択します。
Available Kbytesを選択し、「追加」をクリックします。
「Finish」をクリックしてモニターの追加を完了します。ServerStatsは、カウンタの検証ステータスを表示します(少し時間がかかる場合があります)。
検証が完了したら、「設定」ウィンドウがモニターのリストとともに更新されます。
結果を見て、カウンタが正しく作動していることを確認します。
「閉じる」をクリックして、テスト結果を閉じます。
次に、既存のServerStats設定を編集する方法について説明します。
この例では、既存のOracle Load Testing ServerStats設定を編集して、特定のカウンタを変更する方法を示します。この例の手順は、前の例の手順に基づいた内容になっています。
「ServerStats」メニューから「設定」を選択して、「ServerStats 設定」ウィンドウを開きます。
Tutorial設定を選択します。
Memory(Available Kbytes)モニターをクリックし、「編集」をクリックします。
「監視するシステム」の横にある「追加」をクリックします。
監視するシステムを追加する場合は、このダイアログ・ボックスで情報を指定して、新しいシステムをServerStats設定に追加します。
「キャンセル」をクリックします。
「OK」をクリックします。
「閉じる」をクリックして、「ServerStats 設定」ウィンドウを閉じます。
Oracle Load Testing ServerStatsの機能およびオプションの使用方法の詳細は、Oracle Load Testing ServerStatsガイドを参照してください。
この例では、複数の仮想ユーザー・プロファイルを使用してシナリオを作成し、それぞれのシナリオの属性を設定する方法を説明します。またレポート作成オプションの設定方法も示します。
「シナリオの設定」タブをクリックします。
「デフォルト・プロファイル」リストでHTTPTutor2をダブルクリックして、「シナリオのパラメータを設定」リストに追加します。
HTTPTutor2行にある「すべてのパラメータの設定」ボタンをクリックして、「シナリオ詳細の編集」ダイアログ・ボックスを表示します。
VU数の値を3に変更します。
その他の属性をデフォルト設定のままで残し、「OK」をクリックします。
HTTPTutor1行にある「すべてのパラメータの設定」ボタンをクリックして、「シナリオ詳細の編集」ダイアログ・ボックスを表示します。
「仮想ユーザー ペーシング」で「記録時」が選択され、「上限」値が10秒に設定されていることを確認し、「OK」をクリックします。
このようにシナリオのプロファイルリスト内の各プロファイルに、異なる属性セットを設定できます。
この例では、Oracle Load Testingを使用して、仮想ユーザーの数が異なる複数のシナリオ・プロファイルを実行する方法、および統計とパフォーマンス情報を参照する方法を示します。
「シナリオ」タブまたはツールバーのオートパイロットへ追加ボタンをクリックします。
Oracle Load Testingで自動的に「オートパイロットの設定」タブが開き、「サブミット済みシナリオ プロファイル」リストにHTTPTutor1およびHTTPTutor2のシナリオ・プロファイルが表示されています。
「オートパイロットの設定」タブの「負荷テストの停止」グループで「停止ボタン押下時」を選択します。
「仮想ユーザ (VU) の増加設定」セクションの「増加タイミング」の下で#回反復後の編集ボックスに5と入力します。
「ServerStats 設定」セクションの「設定」ドロップダウン・リストからTutorialを選択して、設定を負荷テストに追加します。
「保存」をクリックして増加設定をシナリオ・ファイルに保存します。
Oracle Load Testingで「セッションの保存」ダイアログ・ボックスが開きます。
「OK」をクリックします。
「セッションの保存」ダイアログ・ボックスが開くのは、「開始/停止」オプション(「ツール」メニューから「オプション」を選択)で「確認」を設定したためです。「開始/停止」オプションを変更すると、日常的に実行するテストで仮想ユーザーを実行する際に、このダイアログ・ボックスをスキップして自動またはデフォルトの値を使用できます。
オートパイロットにより、HTTPTutor1およびHTTPTutor2スクリプトが仮想ユーザーで実行されます。このときHTTPTutor2はデータバンクのレコードを再生しています。
オートパイロットでは、最初は3人の仮想ユーザーのみを実行します。これらの仮想ユーザーが5回の反復を終了すると、次の3人の仮想ユーザー実行が開始します。この2番目のグループが5回の反復を終了すると、残りの3人の仮想ユーザーが開始します。オートパイロットの「仮想ユーザ (VU) の増加設定」オプションの設定により、仮想ユーザー実行のタイミングを調整できます。
Oracle Load Testingで、自動的にランタイム・グラフが「グラフを見る」タブに表示されます。グラフを参照するには「グラフを見る」タブをクリックします。グラフはセッション実行中に常に更新されます。
必要に応じて、ウィンドウを下方にスクロールして「規定のグラフ」プルダウン・メニューを表示します。プルダウン・メニューでは特定のグラフを選択し、フル・スケールで表示することができます。
パフォーマンス統計レポートを参照するには「レポート」タブをクリックします。パフォーマンス統計レポートには、実行中の仮想ユーザーのパフォーマンス・データ・サマリーが表示されます。
統計には、次のパフォーマンス・カテゴリの値が表示されます。
ページ数/秒: サーバーによって返された1秒当たりのページの合計数。「ページ」は、Webページを構成するあらゆるリソース(ページHTML、すべてのイメージ、すべてのフレームなど)から成ります。
ヒット数/秒: サーバーに対する1秒当たりのリソース・リクエストの数。ページ、各イメージ、各フレームに対する1回ずつのリクエストがOracle Load Testingで「ヒット」としてカウントされます。Oracle Load Testingでサーバからのイメージをリクエストしていない場合は(ダウンロード・マネージャでの設定による)イメージはヒット・カウントに含まれません。「ヒット数/秒」と「ページ数/秒」のカウントは、イメージがリクエストされていない場合またはページにフレームが含まれていない場合は同じになります。
<セッション名>合計
<プロファイル名>: 1秒当たりの仮想ユーザー・プロファイルの最新、最大、最小、および平均値が表示されます。
<タイマー名>: サーバー・レスポンス・タイマーの最新、最大、最小、および平均値が表示されます(秒単位)。サーバー・レスポンス・タイマーはOracle OpenScriptを使用してスクリプトに追加します。
<プロファイル名>VU数: 指定された実行中の仮想ユーザー数で、仮想ユーザー・プロファイルを実行する際に要する時間を示します。仮想ユーザーを増加すると、追加した仮想ユーザーが実行を開始するときに、プロファイルおよび仮想ユーザーごとの応答時間の値が追加されます。プロファイルおよび仮想ユーザーごとの応答時間の値が追加されると、前の値は更新されなくなります。たとえば、統計情報で、仮想ユーザーが3人、6人および9人の場合の、各プロファイルの経過時間の値が表示されるとします。<プロファイル名>3VUの値は、3人の仮想ユーザーが実行中の間のみ更新されます。オートパイロットによって実行中の仮想ユーザーが6人に増加されると、<プロファイル名>3VUの値は更新されなくなり、<プロファイル名>6VUの値が追加され、6人の仮想ユーザーが実行中の間、値が更新されます。オートパイロットによって実行中の仮想ユーザーが9人に増加されると、<プロファイル名>6VUの値は更新されなくなり、<プロファイル名>9VUの値が追加され、9人の仮想ユーザーが実行中の間、値が更新されます。
「グラフを見る」タブで「概要」タブをクリックします。
Oracle Load Testingは、様々なグラフが用意され、実行中の仮想ユーザーのパフォーマンス、エラー、統計情報などを表示できます。「概要」タブには、デフォルト・グラフ・サマリーが単一のビューで表示されます。「概要」タブの下部のグラフ統計の表示ボタンをクリックすると、各グラフのデータ・シリーズ表の表示と非表示の切替えができます。
「概要」タブでグラフをクリックすると、グラフを拡大表示できます。グラフの右側の概要へ戻るボタンをクリックすると、グラフの概要ビューへ戻ります。
「概要」タブの「規定のグラフ」ドロップダウンで、「パフォーマンス vs. ユーザー」を選択します。
このグラフは、各プロファイルで実行中の仮想ユーザーの平均実行時間を示しています。グラフ上の点はオートパイロットによる仮想ユーザー増加を示しています。グラフの各プロファイルの最初の点は、3人の仮想ユーザーが実行中のときの平均実行時間を示しています。オートパイロットによって実行中の仮想ユーザーが6人に増加されると、仮想ユーザー3人の点は更新されなくなります。
2番目の点は6人の仮想ユーザーが実行中のときの平均実行時間を示しています。オートパイロットによってさらに実行中の仮想ユーザーが9人に増加されると、仮想ユーザーが6人であったときの点は更新されなくなります。
3番目の点は実行中の仮想ユーザーが9人のときの平均実行時間を示しています。この例では、オートパイロットが増加して実行する仮想ユーザーの合計は9人です。3番目の点は9人の仮想ユーザーが実行されている間は引き続き更新されます。
「概要」タブの「規定のグラフ」ドロップダウンで、「ユーザー VS. 時間」を選択します。
このグラフは、各プロファイルの仮想ユーザーが起動されたときの相対時間を示しています。グラフは、オートパイロットの増加回数、およびプロファイルごとに増加された仮想ユーザー数を示しています。
「概要」タブの「規定のグラフ」ドロップダウンで、「パフォーマンス vs. 時間」を選択します。
このグラフでは、各プロファイルを実行する仮想ユーザーの平均実行時間の推移を示しています。
「概要」タブの「規定のグラフ」ドロップダウンで、「統計情報 vs. 時間」を選択します。
このグラフでは、仮想ユーザーのヒット、ページ、トランザクション、およびKBの1秒当たりの平均の推移を示しています。
エラー・グラフは、仮想ユーザーに対するエラー発生率の平均の推移を示しています。
この例では、Oracle Load Testingで個別の仮想ユーザーの属性を変更する方法、アクションを表示する方法、および仮想ユーザーを停止または中止する方法を説明します。
例3で実行した仮想ユーザーがまだ実行中であることを確認します。
仮想ユーザー・グリッド内の任意の仮想ユーザーをクリックします。
マウスを右クリックして、ポップアップ・メニューを開きます。
「仮想ユーザー属性の変更」を選択します。Oracle Load Testingで、選択した仮想ユーザーの実行属性を変更するダイアログ・ボックスが開きます。
各仮想ユーザーの属性を個別に変更できます。
「キャンセル」をクリックして、ダイアログ・ボックスを閉じます。
「ツール」メニューから「VU ディスプレイ」を選択するか、仮想ユーザー・グリッドから右クリックのポップアップ・メニューを使用することもできます。Oracle Load Testingで、仮想ユーザーのアクションを参照できるブラウザ・ウィンドウが開きます。
前のページツールバー・ボタンをクリックします。ビューアに前のページのみが表示されます。
次のページツールバー・ボタンをクリックします。ビューアに次のページのみが表示されます。
自動モードツールバー・ボタンをクリックします。仮想ユーザーが新しいページにアクセスすると、そのページがビューアに表示されます。
新規ページの受付け停止ツールバー・ボタンをクリックします。ビューアは、仮想ユーザーからのページの受付けを停止します。
注意: 新しいページがビューアに送られる速度により、キャッシュされたページの表示が中止されるまでにしばらく時間がかかることがあります。
ウィンドウを閉じて、ビューアを終了します。
仮想ユーザー・グリッド内の任意の仮想ユーザーをクリックします。
マウスを右クリックして、ポップアップ・メニューを開きます。
「停止」を選択します。Oracle Load Testingは選択した仮想ユーザーの実行を停止します。仮想ユーザーは現在のスクリプトの反復を完了した後で終了します。
この例では、Oracle Load Testingのレポート自動生成機能について説明します。「開始/停止」オプションの「レポート用データの保存」オプションが「はい」または「確認」に設定されている場合、オートパイロットが仮想ユーザーを実行する間にOracle Load TestingおよびOracle Load Testing ServerStatsによって収集されたデータはデータベースに保存されます。Oracle Load Testingを使用して、データを分析し、様々なグラフやレポートを生成できます。
この例では、以前に保存されたデータを使用してカスタム・レポートを作成し、セッションおよびシナリオ・レポートを表示する方法を説明します。「レポートの作成」タブを使用してセッション終了後にセッション実行レポートを生成します。
「レポートの作成」タブを選択します。
「グラフ1」タブが開き、空のグラフが表示されます。「セッション」リストからSession0001を選択します。データ・カテゴリが「使用可能なデータ シリーズ」リストに表示されます。
「すべて表示」をクリックします。
「使用可能なデータ シリーズ」フィールドでヒット数/秒、受信KB数/秒、受信ページ数/秒、およびトランザクション数/秒をダブルクリックして、カウンタをグラフに追加します。これらは総合的なカウンタです。また、カウンタを選択し、「データ シリーズの追加」ボタンをクリックすることもできます。
ServerStatsモニター・ノードを展開し、OLTサーバー(Processor: % Processor Time: 0)ノードをダブルクリックしてグラフに追加します。
グラフの右にある「凡例の表示」ボタンをクリックします。グラフの「凡例」ビューがグラフの上で開きます。
凡例には、グラフ線のそれぞれの色に対応する仮想ユーザー・プロファイル、スクリプト・ページおよびOracle Load Testing ServerStatsカウンタが示されています。Oracle Load Testingデータの凡例は、セッション、仮想ユーザー・プロファイル、およびスクリプト・ページがsession.profile.page[#]の形式で表されます。ServerStatsデータの凡例は、セッション、カウンタ・オブジェクト、カウンタ・インスタンスおよびカウンタがsession.object.instance.counterの形式で表されます。
グラフを.pngおよび.jpgイメージ・ファイルにエクスポートしたり、データをカンマ区切りファイルまたはMicrosoft Excelファイルにエクスポートしたりできます。
凡例でデータ・シリーズを1回クリックすると、グラフでデータ・シリーズ・プロット・ラインが非表示になります。データ・シリーズは凡例でグレー表示されます。
凡例で非表示のデータ・シリーズを1回クリックすると、グラフでデータ・シリーズ・プロット・ラインが表示されます。
「凡例の表示」ボタンを再度クリックすると、凡例が非表示になります。
グラフの右にあるグラフ統計の表示ボタンをクリックします。グラフ統計表のビューがグラフの下に開きます。
マウス・カーソルをグラフのデータ・シリーズ・ラインの上に移動します。データ・ポイント情報のポップアップがグラフの上に表示されます。
グラフ統計の表示ボタンを再度クリックすると、統計表が非表示になります。
グラフの右にある「ズーム」ボタンをクリックします。カーソルがルーペの表示に切り替わります。
マウスをグラフの上でクリック・アンド・ドラッグすると、その部分が拡大表示されます。
ズーム・ツールを何回かクリック・アンド・ドラッグすると、段階的に拡大表示できます。
[Ctrl]キーを押しながらマウスの左ボタンをクリックすると、1段階縮小表示されます。[Ctrl]キーを押しながらマウスの左ボタンをダブルクリックすると、フル・サイズまでグラフが縮小表示されます。
「ズーム」ボタンを再度クリックすると、ズーム・ツールが終了します。
注意: ご使用のシステムにMicrosoft Excelがインストールされていない場合は、このセクションは省略してください。
グラフの右にあるグラフ・オプション・ボタンをクリックします。グラフ・オプション・ウィンドウが開きます。
「エクスポート」タブをクリックします。
CSV形式オプションを選択します。
「エクスポート」をクリックします。
「名前を付けて保存」ダイアログ・ボックスが表示されます。レポートを保存する場所を選択して「保存」をクリックします。
ダウンロードの完了ダイアログ・ボックスが表示されます。「開く」をクリックします。
Microsoft Excelのその他のエクスポート形式や機能を使用して、エクスポートしたデータまたはグラフを処理することができます。
2行目にはカウンタ名が表示されます。以下の行には、グラフの実際のデータ値が含まれます。
「ファイル」ニューから「終了」をクリックして、Microsoft Excelを閉じます。
レポートには、Oracle Load Testingシナリオの現在および実行期間中の総合パフォーマンスが表示されます。また、セッションで使用されたOracle Load Testingシナリオの設定もレポートに含まれます。
Oracle Load Testingでは、Oracle Load Testingシナリオ設定、およびOracle Load Testing とOracle Load Testing ServerStatsセッション・データのテキスト・レポートも生成します。
「レポート」タブを選択します。
「セッション」ドロップダウン・リストからレポートを表示するセッションを選択し、「生成をクリックします。Oracle Load Testingでレポートが開きます。
セッション・パフォーマンス・レポートをスクロールすると、Oracle Load Testingシナリオ・レポートの詳細が表示されます。
レポートを印刷するには、印刷/保存 [HTML]ボタンをクリックし、ブラウザ・ウィンドウで「ファイル」メニューから「印刷」を選択します。
これで、Oracle Load Testingチュートリアルの手順は完了です。負荷テストおよびOracle Load Testing機能の使用方法の詳細は、Oracle Load Testingユーザーズガイドを参照してください。