ヘッダーをスキップ
Oracle® Load Testing Load Testingユーザーズ・ガイド
バージョン9.31
B62626-03
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

4 仮想ユーザー・シナリオの定義

この章では、仮想ユーザー・プロファイルに基づいて仮想ユーザー・シナリオを定義する方法について説明します。

4.1 シナリオの定義

仮想ユーザー・シナリオには、プロファイルごとに次の属性を指定します。

次の項で、仮想ユーザー・シナリオを指定する方法について詳しく説明します。

4.1.1 プロファイルの選択

一連の仮想ユーザー・プロファイルが用意されたら、Webページまたはアプリケーションに対してパフォーマンス・テストと負荷テストを実行するOracle Load Testingシナリオを定義できます。仮想ユーザー・プロファイルは、Oracle OpenScriptの負荷テスト・スクリプトです。

プロファイルをシナリオ・プロファイル・リストに追加するには、次のようにします。

  1. 必要な場合には、保存されているシナリオ・ファイルを開きます。

  2. 「シナリオの作成」タブを選択します。

  3. 追加するプロファイルを含むリポジトリとワークスペースを選択します。

  4. 追加するプロファイルを選択します。


    注意:

    データバンク設定が正常に機能するには、シナリオに追加するプロファイルの名前が一意でなければなりません。

  5. 「シナリオに追加」ボタンをクリックするか、プロファイル・リストでプロファイル名をダブルクリックします。

4.1.2 シナリオ・プロファイルの属性の指定

シナリオに含めるスクリプトを選択したら、それぞれにシナリオ・パラメータを指定できます。特定のスクリプトにパラメータを設定するには、次のようにします。

  1. 必要な場合には、保存されているシナリオ・ファイルを開きます。

  2. 「シナリオの作成」タブを選択します。

  3. シナリオに含めるスクリプトを選択します。

  4. シナリオの詳細ボタンをクリックし、「シナリオ詳細の編集」ダイアログ・ボックスを表示します。


    注意:

    このダイアログ・ボックスに表示されるパラメータのサブセットは、「シナリオの作成」タブで直接指定できます。「シナリオの作成」タブに表示されるパラメータを指定するには、「ツール」メニューから「オプション」「シナリオのデフォルト」の順に選択し、各フィールドの「表示」チェックボックスを選択して表示するフィールドを指定します。

    右クリック・メニュー: スクリプトまたはユーザー定義プロファイル間で設定をコピーして貼り付けることができます。コピーするスクリプトまたはユーザー定義プロファイルを右クリックして「コピー」をクリックします。設定を貼り付ける対象のスクリプトまたはユーザー定義プロファイルを右クリックして「貼付け」をクリックします。

    メイン: メインの設定は次のとおりです。

    • VU数: 選択されたプロファイルで実行する仮想ユーザー数を指定します。各仮想ユーザーに対して、Oracle Load Testingは仮想ユーザー・プロファイルで指定されたスクリプトのインスタンスを個別に実行します。

    • システム: 仮想ユーザーが実行されるマシンを指定します。LAN/WAN上に存在する複数のシステムにわたって仮想ユーザーを実行する場合は、Oracle Load TestingまたはOracle Load Testingエージェントのいずれかを実行するシステムのマシン名を入力します。システムの定義は、「システム・マネージャ」で行います。最初に、システム・マネージャでシステムのマシン名またはIPアドレスを定義する必要があります。名前またはIPアドレスが指定されると、以降の負荷テスト用にドロップダウン・リストからシステム名を選択することができます。

      プロセスまたはシステムごとに実行する仮想ユーザー数を決定するとき、リソース配分にクライアント・オーバーヘッドを含める必要があります。各仮想ユーザーは、実行に約350KBから500KBのメモリーを必要とします。エージェント・システムでの仮想ユーザー実行に使用可能なメモリーを算出するとき、20%から30%のクライアント・システム・オーバーヘッドを考慮する必要があります。そのため、仮想ユーザーの実行に使用できるのは物理メモリー(RAM)の70%から80%ということになります。

    • 反復遅延: 仮想ユーザー実行の反復間の待機時間を秒単位で指定します。反復回数はオートパイロットで指定します。

    • VUペーシング(思考時間): 各仮想ユーザーのスクリプト再生遅延を指定します。4つのオプションがあります。

      • 記録済: Oracle OpenScriptスクリプトに記録された遅延時間が使用されます。スクリプトに優先される最小および最大遅延時間(秒単位)を、「最小」および「最大」編集ボックスで設定できます。

      • 記録済/ランダム: 記録済のユーザー遅延に基づいたランダム遅延時間が使用されます。Oracle Load Testingは、ランダム・レンジの下限を、実際のユーザー遅延から「下位」の値を差し引いて設定します。また、ランダム・レンジの上限は、実際のユーザー遅延に「上位」の値を足して設定されます。たとえば、実際に記録された遅延時間が100秒で、「下限」および「上限」設定がそれぞれ10%と25%の場合、Oracle Load Testingでは、90から125秒の間のランダム遅延時間が使用されます。

      • ランダム: 仮想ユーザー・ペーシングのランダム時間が使用されます。「最小」および「最大」編集ボックスに、ランダム遅延の最小と最大の遅延時間を設定できます。

      • 遅延なし: スクリプトが最も速い速度で再生されます。


      注意:

      OpenScriptスクリプトでは、VUペーシングはthink()およびbeginStep()メソッドに指定されている時間をオーバーライドします。

    • データ・バンクの使用: trueに設定されている場合、Oracle OpenScriptのデータバンクが設定されているスクリプトでは、仮想ユーザー再生でデータバンクが使用されます。falseの場合、スクリプトの再生には、データバンクではなく記録されたデータが使用されます。

    ブラウザ設定: ブラウザの設定は次のとおりです。

    • ブラウザ・エミュレーション: エミュレートするブラウザの種類を指定します。

    • 接続速度エミュレーション: 仮想ユーザーのインターネット接続をシミュレートする回線速度を指定します。仮想ユーザーで、モデム、DSL、またはその他の速度を使用してダイアルアップ接続をシミュレートする場合は、特定の速度を設定します。仮想ユーザーで実際の接続速度を使用する場合は、速度を「実際の回線スピード」に設定します。

    • ダウンロードしたページのキャッシュ: trueの場合、ダウンロードされたページはローカル・キャッシュに格納され、キャッシュ・オプションが有効になります。サーバー上のロードを下回るキャッシュは、より最新のページがリクエストされた場合のみ行われ、Webサーバーから引き出されます。falseの場合、キャッシュは使用されません。ページおよび画像はリクエストのたびにWebサーバーから引き出されるため、Webサーバー上のロードを上回るキャッシュは行われません。

    • 反復ごとにキャッシュをクリア: trueの場合、各仮想ユーザーが個々の反復の後で固有のキャッシュをクリアします(スクリプトでrun()セクションの個々の反復が終了した後)。

    • 自動 (ページが期限切れの場合): trueの場合、ページが期限切れのときにWebサーバーで最新のバージョンがチェックされます。期限切れになっていないキャッシュされたページの最新のバージョンは、Webサーバーでチェックされません。この設定は、Internet Explorerの「自動的に確認する」キャッシュ設定と同様に動作します。

    • ページを表示するごとに確認する: trueの場合、キャッシュされたすべてのページの最新のバージョンがWebサーバーで常にチェックされます。この設定は、Internet Explorerの「Webサイトを表示するたびに確認する」キャッシュ設定と同様に動作します。

    • メモリー内最大キャッシュ・サイズ: キャッシュされるドキュメント・コンテンツに割り当てるインメモリー記憶域の最大容量を指定します。この設定は、各仮想ユーザーが独自にドキュメントをキャッシュする場合でも、処理中の全仮想ユーザーに適用されます。メモリー内キャッシュの空き容量がなくなった場合は、ドキュメントの内容はディスク上の<installDir>\agent\cache.という一時フォルダにキャッシュされます。キャッシュされるドキュメントの格納に使用可能なディスク記憶域に上限はありません。エージェント・プロセスが起動されるたびに、ディスク・キャッシュが消去されます。デフォルト値は128MBです。

    • IPスプーフィングの使用: trueに設定されている場合、Oracle Load Testingは仮想ユーザー・エージェントに対して異なるIPアドレスを使用します。各仮想ユーザーは定義済のIPアドレスを取得する必要があります。Oracle Load TestingエージェントがシステムのTCP/IPネットワーク・プロトコルで使用する、使用可能なIPアドレスを定義してください。すべてのIPアドレスが各エージェント・システムに追加されている必要があります。詳細は、4.2項「IPスプーフィングの使用」を参照してください。

    • Cookieの有効化: trueに設定されている場合、仮想ユーザー・プロファイルでCookieが使用されます。WebアプリケーションがCookieを使用してセッションその他のコンテキスト情報を管理する場合は、この設定を使用します。

    拡張性: 拡張性の設定は次のとおりです。

    • ユーザー定義テストの実行: trueに設定されている場合は、Oracle Load TestingはOracle OpenScriptテキスト・マッチング・テストおよびサーバー・レスポンス・テストを実行します。

    VU表示: 「VU表示」の設定は次のとおりです。

    • すべてのレスポンスの表示: エラー時、常に、無効のすべてのレスポンスを表示する場合に選択します。

    • リクエスト・ヘッダーの表示: エラー時、常に、または無効のリクエスト・ヘッダーを表示する場合に選択します。選択された仮想ユーザーによってリクエストされたWebページ・リソースのリクエスト・ヘッダー情報が仮想ユーザー表示の履歴リストに表示されます。

    • レスポンス・ヘッダーの表示: エラー時、常に、または無効のレスポンス・ヘッダーを表示する場合に選択します。選択された仮想ユーザーによってリクエストされたWebページ・リソースのレスポンス・ヘッダー情報が仮想ユーザー表示の履歴リストに表示されます。

    レポート: 「レポート」の設定は次のとおりです

    • すべてのページのタイマーの自動生成: trueに設定されている場合は、Oracle Load TestingはOpenScriptスクリプト・ページに対してレポート用のタイマーを自動的に追加します。Oracle Load Testingでは、シナリオによって再生されたスクリプトの各ページに対するパフォーマンス監視およびタイミング情報を提供する目的でタイマーが使用されます。

    • すべてのステップ・グループにタイマーを自動生成: trueに設定されている場合は、Oracle Load Testingは各Oracle OpenScriptステップ・グループに対してレポート用のタイマーを自動的に追加します。Oracle Load Testingでは、シナリオによって再生されたスクリプトの各ステップ・グループに対するパフォーマンス監視およびタイミング情報を提供する目的でタイマーが使用されます。

    • すべてのリソースのタイマーの自動生成: trueに設定されている場合は、Oracle Load Testingはすべてのリソースに対して監視およびレポート用のタイマーを自動的に追加します。リソースには、「シナリオのデフォルト」のOpenScriptダウンロード・マネージャで指定されているサーバーからダウンロードしたイメージとその他のオブジェクトが含まれます。

    エラー処理: 「エラー処理」の設定は次のとおりです。

    • オブジェクト・ダウンロード・エラーは致命的: trueに設定されている場合は、Webページのオブジェクト・ダウンロード・エラーが致命的なエラーとみなされ、現在の反復が終了します。

    • 長さゼロのダウンロード・エラーは致命的: trueに設定されている場合は、0バイト長を示すサーバー・レスポンスが致命的なエラーとみなされます。スクリプトがSiebelスクリプトとして記録されている場合は、このオプションをfalseに設定してください。

    • エラー発生時に仮想ユーザーを停止: trueに設定されている場合は、エラーが発生すると仮想ユーザーが停止します。

    • 失敗時に残りの反復を停止する: trueに設定されている場合、エラーが発生すると仮想ユーザーの残りの反復がすべて停止されます。

    • ソケット・タイムアウト: タイムアウトになるまで仮想ユーザーがソケット接続を待機する最大時間を指定します。

    • リクエスト・タイムアウト: 仮想ユーザーがタイムアウトになるまでページへのアクセスを待機する最大時間を指定します。

    詳細: 「エラー処理」の設定は次のとおりです。

    • プロセス当たりの最大ユーザー数: エージェント・プロセスごとの最大仮想ユーザー数を設定します。仮想ユーザーを単一プロセスのスレッドとして実行する場合、「プロセス当たりの最大ユーザー数」は単一プロセスにおける最大仮想ユーザー・スレッド数を定義します。仮想ユーザー数が単一プロセスで最大数を超過すると、Oracle Load Testingは新規プロセスを大量に生成し、追加の仮想ユーザーを新規プロセスのスレッドとして実行します。

      デフォルトでは、エージェント・プロセスごとに無制限の仮想ユーザーが設定されています。

    • ユーザー当たりの最大HTTP接続数: サーバーごとのプロセス当たりのサーバー接続の最大数を指定します。たとえば、各VUがイメージ用の追加リソースや追加のフレームをリクエストする複数の接続を作成することがあります。このオプションを設定すると、VUが作成できるサーバー接続の合計数を制限できます。デフォルト設定は「デフォルト」で、エージェント・マシンに設定されたデフォルトの接続制限が使用されることを意味します。(詳細は、Microsoftナレッジベースの記事Q183110を参照してください。)

    • HTTPプロキシ設定の無視: エージェント・マシンで、Internet Explorerに定義されているデフォルトのプロキシ設定を無視するかどうかを指定します。

    Javaクライアントのプリファレンス: デフォルト値に設定されているときは、JavaAgent.propertiesファイルで設定されている場合を除いて、OracleATS\OFT\jagent\ JavaAgent.propertiesファイルで指定された値が使用されます。JavaAgent.propertiesファイルで値が設定されていない場合は、Javaエージェントは内部デフォルト値を使用します。

    • 永続RAWデータ: trueに設定されている場合、Oracle Load Testingは測定したデータ・ポイントをすべて一連のCSVファイルに保存します。ファイルは、次のように指定されているエージェント・マシンのディレクトリにローカルに保存されます。

      <oats_install>/agent/rawdata/<controller-identifier>/<session_name>/<agent-id>/<YYYY-MM-DD HH:mm:ss>
      

      カウンタ・ファイルと、RAWデータの使用方法については、6.9項「RAWデータの使用」を参照してください。

    • レポート・カウンタ: trueに設定されている場合、Oracle Load Testingカウンタがレポートされます。

    • VU表示の最大バイト数: 「その他」を選択した場合、アイテムごとにVU表示に送信するバイト数を入力します。このとき、リクエスト、レスポンス、およびコンテンツはそれぞれ別のアイテムとなります。JavaAgent.propertiesファイルでのデフォルトは-1で、これはすべてを返します。入力された値は文字数とほぼ等しくなります。

    • レポート送信者間隔: 「その他」を選択した場合、エージェントがステータスおよび累積カウンタをレポートする頻度をミリ秒単位で入力します。JavaAgent.propertiesファイルでのデフォルトは5000です。

    • 最大JVMヒープ・サイズ: 最大のJVMヒープ・サイズを指定します。この値は、合計メモリー・サイズの90%より大きくすることはできません。

    • プロキシ・ホスト: 「その他」を選択してプロキシ・ホストを入力すると、システムで指定されたプロキシ・ホストが無効になります。

    • プロキシ・ポート: 「その他」を選択してプロキシ・ポートを入力すると、システムで指定されたプロキシ・ポートが無効になります。

    • 非プロキシ・ホスト: 非プロキシ・ホストを入力する場合は、「その他」を選択します。複数のホストはバー(|)で区切ります。

    • GZIPの有効化: trueに設定されている場合、gzip圧縮のサポートが有効になります。ブラウザ・リクエストには、gzip圧縮したページのレスポンスを受け取ることを示すAccept-Encoding: gzipヘッダーが含まれます。サーバーでgzip圧縮が使用される場合、gzip圧縮フォーマットでページを返すことを示すContent-Encoding: gzipヘッダーがレスポンスに含まれます。ブラウザは、HTMLページをレンダリングする前に圧縮ファイルを解凍します。gzip圧縮は通常、ブラウザとサーバーの間で大きいHTMLページを高速で転送するときに使用します。

    • 圧縮の有効化: trueに設定されている場合、gzip圧縮のサポートが有効になります。ブラウザ・リクエストには、deflate圧縮したページのレスポンスを受け取ることを示すAccept-Encoding: deflateヘッダーが含まれます。サーバーでdeflate圧縮が使用される場合、deflate圧縮フォーマットでページを返すことを示すContent-Encoding: deflateヘッダーがレスポンスに含まれます。ブラウザは、HTMLページをレンダリングする前に圧縮ファイルを解凍します。deflate圧縮は通常、ブラウザとサーバーの間で大きいHTMLページを高速で転送するときに使用します。

    • 言語: 「その他」を選択して、Accept-Languageヘッダーを上書きする言語を入力します。デフォルトは、JVMで割り当てられたロケールです。

    • HTTPバージョン: クライアントとサーバーの間におけるGETまたはPOSTリクエスト/レスポンスで指定するHTTPプロトコルのバージョンを選択します。HTTP/1.0は、Hypertext Transfer Protocolの初期実装版です。HTTP/1.1は、HTTP/1.0プロトコルの標準ベースの強化版です。HTTP/1.0とHTTP/1.1の主な相違については、http://www8.org/w8-papers/5c-protocols/key/key.htmlを参照してください。

    • 受入れ文字列: この設定はAccept: HTTPヘッダー値を制御します。「その他」を選択した場合は文字列を入力します。JavaAgent.propertiesファイルでのデフォルトは、text/html, image/gif, image/jpeg, */*です。カスタムAccept:ヘッダーを追加することでスクリプト内のナビゲーションを変更する場合は、かわりに、スクリプトのカスタム・ヘッダー値が使用されます。

    • キープ・アライブの有効化: trueの場合、接続リクエスト・ヘッダーがConnection: Keep-Aliveに設定されます。HTTP/1.0の場合、クライアントまたはサーバーで接続が切断されるまでソケット接続がオープンのままになります。HTTP/1.1の場合、Connection: closeヘッダーが指定されるまで、すべての接続が有効なままになります。

    • 反復間で接続を保存: 仮想ユーザー・エージェントとブラウザの間の接続を、スクリプトの連続する反復間で保存するために使用します。可能な場合には反復間で、開いているブラウザ接続の再利用を試行する場合はTrueに設定します。各仮想ユーザーは、他の仮想ユーザーとは共有しない独自の接続セットを維持します。デフォルト値はTrueで、反復間の接続が保存されます。

    • 反復間で変数を保存: 「実行」セクションの連続した反復の間に、OpenScriptスクリプトの「実行」セクションに追加された変数を保持または自動的にクリアするために使用されます。

    • 反復間でCookieを保存: 「実行」セクションの連続した反復の間に、OpenScriptスクリプトの「実行」セクションに追加されたCookieを保持または自動的にクリアするために使用されます。

    • キープ・アライブ・リクエストの最大数: 「その他」を選択して、KEEP ALIVE接続を閉じる前に作成する最大リクエスト数を指定することができます。

    • ローカル・ファイルのダウンロード: trueに設定すると、リクエストされたローカル・ファイル・コンテンツをJavaエージェントが取得します。

    • コンテンツの最大ダウンロード・サイズ: ダウンロードの最大サイズを指定します。「無制限」または「その他」を指定できます。「その他」を選択する場合はサイズをKBで指定します。

    • SSLバージョン: プロキシ・サーバーに使用するSecure Socket Layerバージョンを指定します。ブラウザでセキュアなサイトを記録するとき、ユーザーにはセキュアなWebサイトの証明書ではなくプロキシ・レコーダの証明書が示されます。ブラウザ、プロキシ・レコーダ、Secure Serverはそれぞれ独自のプライベート・キーとパブリック・キーを持ち、それがデータの暗号化と復号化に使用されます。

      • SSL: プロキシ・サーバーでSecure Socket Layerプロトコルを使用します。OpenScriptは、Sun Java Secure Socket Extension (JSSE)を使用します。Sun JSSEは、デフォルトでSSLv2、ASSLv3、ASSL、ATLSv1、ATLS、SSL_TLSをサポートしています。

      • SSL (TLSなし): Transport Layer SecurityなしのSecure Socket Layerを使用します。場合によって、JSSEの問題のためにTLSプロトコル接続エラーが発生することがあります。「SSL」オプションを使用するとプロトコルの接続エラーが発生する場合には、このオプションを使用します。

    • 無視されるURL: リクエスト対象外のURLをカンマで区切って指定します。この設定は、特定のOpenScriptスクリプトにのみ適用されます。

    • 追加引数: カスタムのOpenScript script.javaコード引数を指定します。OpenScriptスクリプトに独自の設定を作成できます。たとえば、次のようにしてOpenScript script.javaコードにカスタム設定を作成できます。

      if (getSettings().get("MyCustomSetting").equals("abc")) {
        info("We're running in ABC mode.");
      }
      

      そして、次のようにして、「追加引数」フィールドに追加引数を設定できます。

      -MyCustomSetting abc
      
    • グローバル・ヘッダー: スクリプト再生のリクエスト・ヘッダーで使用するカスタムのグローバル・ヘッダー文字列を示します。書式は、name1:value1;name2:value2;name3:value3の形式です。たとえば、x-oracle-slm-message-id: bcn=<beacon_name>; svc=<service_name>のようになります。

    • URLの置換: URL置換文字列を、originalURL1=replacementURL1,originalURL2=replacementURL2,[...]という形式で指定します。再生時に、エージェントがoriginalURLというセグメントで始まるURLのリクエストを送信するときに、元のURLセグメントをreplacementURLで置換します。この機能は、負荷テスト・スクリプトのみで使用できます。

      • originalURL: 置き換えられるスクリプトで使用されるURL:portの開始セグメントを指定します。この値では大文字と小文字が区別されます。

      • replacementURL: エージェントがoriginalURLの置き換えとしてリクエストする、URL:portの新しい開始セグメントを指定します。

      どちらのパラメータも、プロトコルの指定がない場合は、HTTPプロトコルが指定したと想定されます。ホストの後にポートの指定がない場合、HTTPプロトコルであればポート80、HTTPSプロトコルであればポート443が指定したと想定されます。URLの置き換えは、この想定がすべて適用されてから行われます。URL置換ペアは、それぞれのペアをカンマで区切って、何回でも指定できます。「URLの置換」文字列の形式は、次のようになります。

      test_server:7789=production_server:7789
      
      test:7789=prod:7789,https://stage.oracle.com/main=https://prod.oracle.com/home
      

    OpenScriptの「エラー・リカバリ」: OpenScriptの「エラー・リカバリ」カテゴリでは、再生中に発生する例外に対するエラー・リカバリ・アクションを指定できます。個々の再生例外に対してエラー・リカバリ・アクションを設定できます。次のように、「失敗」、「警告」または「無視」のアクションを設定できます。

    • 失敗: エラーが失敗として報告され、スクリプトの実行が停止されます。

    • 警告: エラーが警告として報告され、スクリプトの実行が続行されます。

    • 無視: エラーが無視され、スクリプトの実行が続行されます。

    「OpenScriptプリファレンス」で指定されたエラー・リカバリの再生詳細設定はローカル・マシンに格納され、スクリプトがそのマシンのOpenScript内から再生されている場合にのみ適用されます。スクリプトを別のサーバーのOracle Load Testingにアップロードし、特定の方法でエラー・リカバリ設定に依存してスクリプトが機能する場合は、エラー・リカバリ設定をOpenScriptのスクリプトJavaコードで設定できます。

    OpenScriptスクリプトでは、スクリプトJavaコードを使用して、Oracle Load TestingおよびOpenScript詳細設定のデフォルトを上書きし、いつでもエラー設定をオンおよびオフにできます。次に例を示します。

    getSettings().setErrorRecovery("http.zeroLengthDownloads", "IGNORE");
    // user code executed in script, such as http.get(), http.post(), ...
    getSettings().setErrorRecovery("http.zeroLengthDownloads", "FAIL");
    

    エラー・リカバリ設定のリストは、OpenScriptドキュメントを参照してください。

    OpenScriptの「エラー・リカバリ」-「一般」: 「エラー・リカバリ」の「一般」の設定は次のとおりです。

    • ファイルが見つかりません: ファイルが見つからない場合のエラー・リカバリ・アクションを指定します。

    • セグメント・パーサー・エラー: : XPathセグメント・パーサーがXPathの妥当性を検証できない場合のエラー・リカバリ・アクションを指定します。

    • 変数の作成に失敗: スクリプトが変数の作成に失敗した場合のエラー・リカバリ・アクションを指定します。

    • 暗号化サービスが初期化されていません: パスワード暗号化サービスが初期化されなかった場合のエラー・リカバリ・アクションを指定します。

    • バイナリ・デコード・エラー: バイナリ・ポスト・データ・パラメータ・エラーが発生した場合のエラー・リカバリ・アクションを指定します。

    • 変数が見つかりません: 変換済文字列の解析中に変数を検出できない場合のエラー・リカバリ・アクションを指定します。

    • 子スクリプトの失敗: 他のスクリプトの子であるスクリプトでエラーが発生した場合のエラー・リカバリ・アクションを指定します。

    • 予期しないスクリプト・エラー: 予期しないスクリプト・エラーが発生した場合のエラー・リカバリ・アクションを指定します。

    • 関数のコールでエラー: 他のスクリプトの関数を呼び出すスクリプトでエラーが発生した場合のエラー・リカバリ・アクションを指定します。

    OpenScriptの「エラー・リカバリ」-「HTTP」: 「HTTPモジュール」の「エラー・リカバリ」の設定は次のとおりです。

    • HTML解析エラー: HTML解析エラーが発生した場合のエラー・リカバリ・アクションを指定します。

    • テキスト・マッチングに失敗: テキスト・マッチング・テストが失敗した場合のエラー・リカバリ・アクションを指定します。

    • 変数の解決に失敗しました: 変数値を解析できない場合のエラー・リカバリ・アクションを指定します。

    • レスポンス時間エラー: サーバー・レスポンス・タイム・テストが失敗した場合のエラー・リカバリ・アクションを指定します。

    • 無効なHTTPレスポンス: サーバーにより、無効なHTTPレスポンスが返された場合のエラー・リカバリ・アクションを指定します。

    • 無効なURL: サーバーにより、無効なURLレスポンス・コードが返された場合のエラー・リカバリ・アクションを指定します。

    • ゼロ・ダウンロードを致命的とみなす: サーバー・レスポンスでゼロ・バイト長であることが示された場合のエラー・リカバリ・アクションを指定します。

    • クライアント証明書キーストア・エラー: クライアント証明書キーストアによりエラーが示された場合のエラー・リカバリ・アクションを指定します。

    OpenScriptの「エラー・リカバリ」-Oracle Forms Load: 「Oracle Forms負荷テスト・モジュール」の「エラー・リカバリ」の設定は次のとおりです。

    • Forms接続エラー: サーバー接続エラーが発生した場合のエラー・リカバリ・アクションを指定します。

    • Forms入力/出力通信エラー: Oracle Formsメッセージの読込み/書込みでエラーが発生した場合のエラー・リカバリ・アクションを指定します。

    • Forms再生エラー: Forms再生中にエラーが発生した場合のエラー・リカバリ・アクションを指定します。

    • Formsコンポーネントが見つかりません: フォームのコンポーネントが見つからない場合のエラー・リカバリ・アクションを指定します。

    • Formsコンテンツ一致が失敗しました: コンテンツ・マッチング・テストが失敗した場合のエラー・リカバリ・アクションを指定します。

    OpenScriptの「ダウンロード・マネージャ」: OpenScriptの「ダウンロード・マネージャ」の設定は次のとおりです。

    • OpenScriptダウンロード・マネージャの使用: trueに設定されている場合、再生中にダウンロード・マネージャが有効化されます。falseに設定されている場合、再生中にダウンロード・マネージャは有効化されません。

    • 無視されるURL: 特定のリソースを無視するために使用する正規表現の文字列を指定します。たとえば、式Login_Banner(.+?)はLogin_Banner1.gifおよびLogin_Banner2.gifなどのリソースをダウンロードしません。複数の正規表現はカンマ(,)を使用して区切ることができます。

    • CSSリソース: trueに設定されている場合、再生中に<Link>タグ内のCSSリソースがダウンロードされます。falseに設定されている場合、再生中にCSSリソースはダウンロードされません。

    • イメージ・リソース: trueに設定されている場合、再生中に<Img>タグ、タグのbackground属性、またはbackground:urlパターンを含む<style>タグ内のイメージ・リソースがダウンロードされます。falseに設定されている場合、再生中にイメージ・リソースはダウンロードされません。

    • 埋込みオブジェクト・リソース: trueに設定されている場合、再生中に<Embed>タグまたは<Object>タグ内のオブジェクト・リソースがダウンロードされます。falseに設定されている場合、再生中にオブジェクト・リソースはダウンロードされません。

    • スクリプト・リソース: trueに設定されている場合、再生中に<Script>タグ内のスクリプト・リソースがダウンロードされます。falseに設定されている場合、再生中にスクリプト・リソースはダウンロードされません。

    • アプレット・リソース: trueに設定されている場合、再生中に<Applet>タグ内のアプレット・リソースがダウンロードされます。falseに設定されている場合、再生中にAppletリソースはダウンロードされません。

    Forms LT再生: Oracle EBS/Formsの負荷テスト再生設定の設定は次のとおりです。

    • 取得メッセージ詳細: 再生中にFormsメッセージ詳細を取得するかどうかを指定します。選択すると、OpenScriptは、再生中にFormsメッセージ・リクエスト、レスポンスおよびロードされたすべてのFormsコンポーネント情報を取得し、保存します。この情報は、スクリプトをデバッグする際に有効です。

      OpenScriptでは、詳細ビューの「メッセージ」タブおよび「オブジェクト詳細」タブに取得した詳細が表示されます。Oracle Load Testingでは、「VU表示」設定に基づいて仮想ユーザー表示にこの情報が表示されます。

      メッセージ詳細の取得はメモリー集中型の操作です。負荷の高い負荷テスト中は、エージェントによってリクエストされるヒープ領域容量を減らすために、この設定を解除することをお薦めします。

    データバンク設定: 負荷テスト再生設定のデータバンク設定は次のとおりです。

    • データバンク設定タイムアウト: タイムアウトになるまでに、使用するデータバンクの準備にかけることができる時間を指定します。値は秒単位で指定します。この設定には、次の処理にかかる時間もすべて含まれます。

      データベース・バックアップされるデータバンクを使用する場合:

      • データベースへの接続

      • 問合せ

      • レコードの読込み、ファイルへの書込み

      • インデックスの同時作成

      • 切断

      CSVバックアップされるデータバンクを使用する場合:

      • CSVファイルの解析とインデックスの作成に必要な時間

      ランダム一意値を使用する場合:

      • インデックスをシャッフルする時間

    • 読込みタイムアウト: 実行時に、タイムアウトまでに実行時のスクリプト操作の読込み/書込み操作を待機する時間を指定します。

  5. 編集するスクリプトまたはユーザー定義プロファイルをリストから選択します。

  6. 属性を設定します。

  7. スクリプトとユーザー定義プロファイルごとにステップ5と6を繰り返すか、右クリックでコピー・アンド・ペーストの機能を使用してスクリプトまたはユーザー定義プロファイル間で設定をコピーします。

  8. 「OK」をクリックします。

4.1.3 仮想ユーザーの数の決定

アプリケーションの正確なパフォーマンス・データが得られるように確実に実行できる仮想ユーザーの数は、次のようにいくつもの要因によって決まります。

  • アプリケーションで要求されるリソース

  • 負荷テストに使用するマシンの数

  • 各マシンに搭載されたメモリー量

  • 使用するオペレーティング・システム

  • CPU使用率

仮想ユーザーの数を決定する一般的な原則は、次のとおりです。

  • Oracle Load Testingシステムおよび各エージェント・システムも含めた各システムとも、負荷テスト時のCPU使用率を90%未満に保ってください。

  • 負荷テスト時の各ワークステーションのメモリー消費量は、それぞれの物理メモリー量の70から75%以下に保ってください。つまり、仮想ユーザーの数をメモリーのページ・スワッピングが発生するレベル以下にしておくということです。

  • 負荷テストで実行したい仮想ユーザーの数が、CPU使用率またはメモリー上の制限を超える場合には、システムに搭載する物理メモリーを増やすか、エージェント・システムを追加してください。

システム・リソースの使用状況は、Windows 2000/2003のパフォーマンス・モニターやタスク・マネージャなどシステムのパフォーマンス監視ツールを使用して判断することができます。

4.1.4 セッションの管理

セッションでは、Oracle Load Testingデータの収集とレポートの範囲を指定します。オートパイロットによる仮想ユーザーの実行中に収集されたデータは、仮想ユーザー・グリッド、Oracle Load Testing ServerStatsランタイムのパフォーマンス統計、および負荷グラフに表示され、データベースに保存してテスト後の解析に利用できます。

セッションがデータ収集を開始および終了する方法のデフォルト設定を指定するには、「ツール」メニューから「オプション」「セッション開始/停止」の順に選択します。このオプションを選択すると、「セッション開始/停止」ダイアログ・ボックスが開きます。

セッションの開始方法の定義: 新規セッションのアクションを定義します。

  • レポートのデータの保存: リアルタイムおよびテスト後の解析レポートで仮想ユーザー・データを保存するかどうかを指定します。3つのオプションがあります。

    • いいえ: 仮想ユーザー・データを保存しません。リアルタイムまたは実行後のグラフは作成されません。

    • はい: 仮想ユーザー・データがデータベースに保存されます。「レポートの作成」タブを使用すると、後で解析のためにレポートとグラフを生成できます。

    • 確認: 新規のオートパイロット・セッションを開始するたびに、データの保存を確認されます。

  • セッション名の自動割当て: 選択すると、新規セッションが開始されたとき、指定したセッション名接頭辞と4桁の増分番号が割り当てられます。

  • セッション名接頭辞: セッション名の前に追加される固定名を指定します。使用する名前を入力するか「デフォルト」を指定します。定義した名前に増分番号が追加されます。「デフォルト」に設定した場合、名前は「session」(例: session0001)になります。

セッションの終了方法の定義: セッションの終了方法を定義します。セッションが終了すると、Oracle Load Testingはパフォーマンス統計、負荷グラフ、およびデータベースで実行時データの更新を停止します(「レポートのデータの保存」を使用する場合)。これ以降にオートパイロットを実行すると、データ収集とレポートの目的で新しいセッションが開始されます。

  • 最後のVU完了時にセッションを停止: 選択すると、オートパイロットで最後の仮想ユーザーが実行し終わったときセッションが終了します。

  • ブラウザの終了後にアタッチされたセッションを停止: アタッチされているセッションがある場合、ブラウザを閉じた後でセッション・タイムアウトに達したときセッションを停止します。このオプションを選択せずにブラウザが閉じた場合、セッションは通常の停止時刻まで、あるいはセッションに再連結して手動で停止するまで実行を続けます。デフォルトのセッション・タイムアウトは10分です。

  • セッションの終了時にすべてのエージェントを終了: 選択すると、セッションの終了時にすべてのOracle Load Testingエージェントが自動的に終了します。

エージェント・エラーの処理: エラーが発生したエージェントの処理方法を定義します。

  • エージェント・エラー時に増加を停止: 選択すると、仮想ユーザーが初期化プロセスの完了に失敗した場合に、オートパイロットが新しい仮想ユーザーのサブミットを停止します。この失敗は、エージェント・プロセスを開始する際の問題や、スクリプト実行前の検証中のエラーが原因です。テストは停止されず、以前に実行されていたユーザーはセッションの最後まで実行を続けます。

  • 失敗したエージェントをセッションから削除: 選択すると、仮想ユーザーを開始できなかった場合や、なんらかの理由で孤立化した場合に、オートパイロットは失敗したエージェント・マシンへの新規ユーザーのサブミットを停止します。

4.1.5 データバンク・コントロールの使用

Oracle Load Testingの仮想ユーザーは、データバンクにアクセスするスクリプトを再生できます。データバンクへのアクセスを有効にするには、選択した仮想ユーザー・プロファイルの「シナリオ詳細の編集」ダイアログ・ボックスで、「データ・バンクの使用」オプションをTrueに設定します。仮想ユーザーは、「データ・バンク」アセットを指定してOpenScriptで構成されたスクリプトを使用する必要があります。


注意:

同じプロファイルを複数回シナリオに追加した場合は、シナリオでプロファイルの最初のインスタンスに対するデータバンク設定が、プロファイルのすべてのインスタンスに適用されます。

データバンク・コントロールを使用するには、次のようにします。

  1. データバンクを使用するスクリプトまたはプロファイルを、「シナリオのパラメータの構成」リストに追加します。

  2. 「シナリオ詳細の編集」ボタンをクリックします。

  3. 「メイン」セクションで、「データ・バンクの使用」フィールドをTrueに設定します。

  4. シナリオ・プロファイルの他のオプションも必要に応じて選択し、Oracle Load Testingエージェントでのデータバンク・レコードの使用方法を設定します。

  5. 「OK」をクリックしてダイアログ・ボックスを終了します。

  6. 「データ・バンクの構成」ボタンをクリックします。

    スクリプトとデータバンク名は、左側にリストされます。表示するデータバンクを選択してください。

    データバンク・ソース: このセクションには、選択したデータバンクについて次の情報が表示されます。

    • タイプ: 選択されているデータバンク・ファイルのタイプが表示されます。データバンクは、CVSテキスト・ファイルかデータベースです。

    • ソース: データベース・データバンクのCSVテキスト・ファイルまたはデータベース・ソースのパスとファイル名を示します。ファイル・サイズの上限はありませんが、推奨する最大サイズは200MBです。インデックスの生成時間のみ制限があります。データバンクは、デフォルトでは、30秒以内にインデックスの生成が可能でなければなりません。この設定は、「一般」オプションのデータバンク・タイムアウト設定で変更が可能です。データバンクのタイムアウトを設定する方法については、3.12.8項「一般オプションの設定」を参照してください。

    • レコード: データバンクのレコード数が表示されます。

    プレビュー: データバンクの変数、値、型が次のように表示されます。

    • 名前: データバンク変数の名前がリストされます。

    • 値: データバンク変数の値がリストされます。

    • タイプ: データバンク変数のタイプとして、「内部」、「外部」、「マップされていません」のいずれかが表示されます。

    データバンク設定: このセクションで、選択したデータバンクに使用する設定を示します。

    • 次のレコードに進む: スクリプト再生時に、仮想ユーザーが次のデータバンク・レコードに移動するタイミングを指定します。指定できるオプションは次のとおりです。

      • スクリプトによるレコードのリクエスト時: データバンク・レコードは、スクリプトの再生中にスクリプトが明示的にレコードを要求するたびに移動します。レコード・リクエストは、getDatabank(alias).getNextRecord()メソッドを呼び出すスクリプトJavaコードに対応しています。これがデフォルトの動作です。

      • スクリプト反復ごと: データバンク・レコードは、データバンクを含んでいるスクリプトが次の反復再生を開始する前に移動します。

      • 発生ごと: スクリプトがそのスクリプトのデータバンク列(データバンク・フィールド)を参照するとき、データバンク・レコードが移動します。レコード・リクエストは、{{db.fmstocks_data.ticker}}のようにパラメータ化された値を評価するスクリプトJavaコードに対応しています。たとえば、firstNameフィールドを持つ従業員データバンクがあり、firstName列がOpenScriptスクリプトで「列」値として指定されている場合、データバンク・レコードはスクリプトJavaコードの{{db.employees.firstName}}値がスクリプト再生時に評価されるときにのみ移動します。

      • 最初に割り当てられたレコードを保持: 仮想ユーザーがデータバンクからレコードを取得した後、データバンク・レコードは移動しません。同じレコードが使い続けられ、他のレコードはリクエストされません。このオプションは、複数の仮想ユーザーを実行するシナリオに適用されます。この場合でも、仮想ユーザーはgetRecord(n)getLastRecord()、またはgetFirstRecord()を使用して個々のレコードをリクエストできます。

    • 次のレコードの選択: データバンク・レコードが移動するときにデータバンクから新しいレコードを選択する方法を指定します。指定できるオプションは次のとおりです。

      • 順次: データバンク・レコードは、指定範囲の開始から連続して1つずつ増分されます。複数の仮想ユーザーが実行されているときは、すべての仮想ユーザー間でレコードが連続的に配分されます。

      • ランダム: データバンクからランダムにデータバンク・レコードが選択されます。すべてのレコードを使い切らずに、同じレコードを複数回使用することができます。ランダムにレコードを選択できるのは、インデックス化が可能なデータバンクのみです。データバンクを設定するとき、データバンク・ファイルが大きすぎてインデックス化できない場合、「ランダム」シャッフルのオプションは使用できません。「ランダム」を選択した場合、「レコードの終了時」「各ユーザーがレコードを個別に反復」の設定は適用されません。

      • シャッフル: データバンクからランダムにデータバンク・レコードが選択されますが、1回選択されたレコードは再度選択されません。この設定は、カードがなくなるまでトランプの中からカードをランダムに抜くことに似ています。シャッフル・モードは、データバンクのレコード件数が200,000件より少ない場合にのみサポートされています。データバンクのレコード数が200,000を超える場合は、実際のデータ・ファイルで値をシャッフルするか、「ランダム」モードを使用してください。

      • シードの使用: 「ランダム」またはシャッフル・モードで使用する乱数シードを指定します。複数のテストで同じシードを使用すると、すべてのテストで同じ順序の乱数が生成されます。0を指定するか何も指定しない場合、シードは現在の時刻に基づいて自動的に生成されます。

    • レコードの終了時: 指定された範囲のデータバンク・レコードがすべて使用されて新しいレコードがリクエストされた場合に、仮想ユーザーがとるアクションを指定します。指定できるオプションは次のとおりです。

      • 範囲内でループ: 指定された範囲のレコードがすべて使用されると範囲内の最初のレコードに戻り、レコードの分配を続行します。仮想ユーザーが永久に実行されないようにするには、「最大反復数」設定を使用します。

      • ユーザーの停止: 範囲内のレコードがすべて使用された後で、次にデータバンクからレコードがリクエストされたとき、仮想ユーザーはただちに実行を停止されます。「最大反復数」設定で反復が何回に指定されていても、仮想ユーザーは停止します。

      • 同じレコードを保持: 範囲内のレコードがすべて使用された後でリクエストされた最後のレコードが使い続けられます。それ以上のレコードはデータバンクからリクエストされません。すべてのレコードが使用された後では、JavaコードでのgetNextDatabankRecord()の呼出しは無視されます。仮想ユーザーがgetRecord(n)getLastRecord()、またはgetFirstRecord()を使用して個々のレコードをリクエストできるようにするには、カスタムのJavaコードを使用します。

    • 各ユーザーがレコードを個別に反復: 選択すると、各仮想ユーザーはただちにレコードを処理します。たとえば、VU 1はレコード1、2、3……を取得し、VUはレコード1、2、3……を取得します。このオプションは、複数の仮想ユーザーを実行するシナリオにのみ適用されます。

      このオプションを適用できるのは、インデックス化が可能なデータバンクのみです。データバンクを設定するとき、データバンク・ファイルが大きすぎてインデックス化できない場合、「各ユーザーがレコードを個別に反復」オプションは使用できません。

  7. ツリー・ビューでスクリプトまたはプロファイルが選択されていることを確認します。

  8. 矢印ボタンを使用してレコード・データを変更します。

  9. 「OK」をクリックします。

4.1.6 同期ポイントの使用

同期ポイントを使用すると、複数の仮想ユーザーがアクションを同期し、テスト中のアプリケーションを操作できるようになります。現実の複数ユーザー環境が再現されるため、デッドロックのようなリソースの競合が発生することもあります。同期ポイントを指定した場合は、スクリプトを実行する複数の仮想ユーザーは、様々な要因(マシンの処理速度など)に応じた回数だけ同期ポイントに達します。

同期ポイントを使用する場合、各仮想ユーザーは、すべての仮想ユーザーが同期ポイントに達するまで待機します。各仮想ユーザーは同期ポイントに達すると、その旨をマスターに通知します。マスターは、すべての仮想ユーザーから通知を受けるまで待機し、それが終了すると、すべての仮想ユーザーにその同期ポイントの後の処理を継続するように指示を出します。

同期ポイントは、OpenScriptでスクリプト(親スクリプトまたは子スクリプト)を作成する際に、そのスクリプトに追加します。同期ポイントの実行パラメータは、Oracle Load Testingアプリケーションで定義します。

OpenScriptスクリプトに同期ポイントを追加するには、次のようにします。

  1. OpenScriptでスクリプトを作成するか、または開きます。

  2. 同期ポイントを追加するスクリプト・ノードを選択します。

  3. 「スクリプト」メニューの「追加」を選択し、「その他」を選択します。

  4. 同期ポイントを選択し、「OK」をクリックします。

  5. 同期ポイントの名称を入力し、「OK」をクリックします。

  6. OpenScriptのスクリプトを保存します。

Oracle Load Testingで同期ポイントの実行パラメータを定義するには、次のようにします。

  1. Oracle Load Testingを起動します。

  2. 「同期ポイントの構成」アイコンをクリックします。

  3. 左ペインでスクリプト名を開いて同期ポイントの名前を選択し、右ペインで次のように同期ポイントの実行パラメータを指定します。

  4. これは、OpenScriptのスクリプトで同期ポイントに指定したのと同じ名前です。

    名前: 同期ポイントの名前を指定します。これは、OpenScriptのスクリプトで同期ポイントに指定したのと同じ名前です。

    グループ・タイプ: 次のオプションに基づいて仮想ユーザーを開放するタイミングを決定する方法を指定します。

    • シナリオ内のすべてのユーザー: 実行中かどうかにかかわらずすべてのユーザーに基づいて、仮想ユーザーを開放するタイミングを計算します。

    • 実行中のユーザー: 実行中のユーザーの数のみに基づいて、仮想ユーザーを開放するタイミングを計算します。

    トリガーの解除: 開放されるまで待機しなければならない仮想ユーザーの割合を指定します。たとえば、10個の仮想ユーザーが実行されていて、開放のトリガーが50パーセントに設定されている場合、待機中の仮想ユーザーは5個が待機状態になると開放されます。この値を100パーセントより大きくすると、仮想ユーザーは手動で開放されるまで待機させられます。

    ゲートを開く時間: トリガーされた開放をそのままに維持している時間を指定します。

    最大待機: 仮想ユーザーの開放まで同期ポイントが待機する最大時間を、個々の仮想ユーザーごとに秒単位で指定します。

  5. これらのステップを繰り返し、同じまたは他のスクリプトの他の同期ポイントに実行パラメータを指定します。

  6. 同期ポイントの実行パラメータを指定し終わったら、「OK」ボタンをクリックします。同期ポイント実行パラメータは、仮想ユーザー・シナリオの一部として保存されます。

実行中の仮想ユーザーについて、同期ポイントのステータスをチェックする、または同期ポイントを解除するには、次のようにします。

  1. 同期ポイントを含む1つ以上のスクリプトを使用して仮想ユーザー・シナリオを開始します。

  2. 「ツール」メニューから「同期ポイント・ステータス」を選択します。

    または

    「VUグリッドの監視」タブをクリックし、実行中の仮想ユーザーを右クリックします。

4.2 IPスプーフィングの使用

Oracle Load Testingは、IPスプーフィングを使用して仮想ユーザーに異なるIPアドレスを割り当てることができます。IPスプーフィングを使用する場合は、各仮想ユーザーが定義済のIPアドレスを取得する必要があります。

仮想ユーザーがIPスプーフィングを使用するには、Oracle Load Testingで使用するIPアドレスを、ワークステーションのTCP/IPネットワーク・プロトコルで定義する必要があります。

IPアドレスの定義には、「ネットワーク プロトコル」の「TCP/IP」プロパティで「詳細な IP アドレスの指定」オプションを使用します。Windows NTシステムの場合、次のように「ネットワーク プロトコル」には「コントロール パネル」からアクセスします。

一般的な手順は次のとおりです。

  1. 「TCP/IP」のネットワーク・プロトコルを開きます。

  2. 「IP アドレス」で「IP アドレスを指定する」を選択します。

  3. IPアドレスの詳細設定で「IP アドレス」と「サブネット マスク」を追加します。

  4. Oracle Load Testing仮想ユーザーが使用する任意の数のIPアドレス/サブネット・マスクを入力します。

  5. この手順を、Oracle Load Testingの各エージェント・システムで繰り返します。

  6. 「シナリオ詳細の編集」ダイアログ・ボックスの「ブラウザ設定」セクションで、「IPスプーフィングの使用」をTrueに設定します。

  7. オートパイロットでシナリオをサブミットして開始します。

各エージェント・マシンの仮想ユーザーが、定義済のIPアドレスを、TCP/IPのネットワーク・プロトコルで定義された順番で使用します。たとえば、1番目の仮想ユーザーが1番目のIPアドレス(インデックス値0)を使用し、2番目の仮想ユーザーが2番目のIPアドレス(インデックス値1)を使用する、などです。使用可能なIPアドレスより仮想ユーザーの方が多い場合、Oracle Load Testingは1番目のIPアドレスに戻り、すべての仮想ユーザーにIPアドレスが割り当てられるまでIPアドレスのリストを繰り返して確認します。


注意:

Oracle Load Testingは、TCP/IPスタック上でレイヤー処理を使用して、仮想ユーザーに対するIPスプーフィングを実行します。仮想ユーザーの実行中は、Oracle Load TestingのレイヤーはTCP/IPスタックの最上位です。Oracle Load TestingでIPスプーフィングを使用して仮想ユーザーを実行しているときに異常なイベント(たとえば再起動)が発生した場合は、TCP/IPスタックを使用する他のアプリケーションが影響される場合があります。この場合は、regsvr32.exeを使用して、sporder.dllというファイルの登録を解除してください。

4.3 シナリオ・ファイルの操作

仮想ユーザーのプロファイルを選択して属性を設定すると、今後使用するためにシナリオをファイルに保存することができます。シナリオには、Scenario###という名前が自動的に割り当てられます。

4.3.1 シナリオの保存

シナリオを保存するには、次のようにします。

  1. 「シナリオ」メニューから「保存」または「名前を付けて保存」を選択するか、ツールバー・ボタンをクリックします。

    リポジトリ: リポジトリのリスト。シナリオを保存するリポジトリを選択します。

    ワークスペース: 選択したリポジトリで使用可能なワークスペースをリストします。

    <シナリオ・リスト>: 選択したワークスペースのシナリオをリストします。

    名前: シナリオの名前を入力します。

  2. 「名前を付けて保存」ダイアログ・ボックスが表示された場合には、「名前」フィールドにファイル名を指定します。

  3. シナリオを保存するリポジトリおよびワークスペースを選択します。

  4. 「OK」をクリックします。


注意:

Oracle Load Testingは、シナリオを保存する際の一部として現在のオートパイロット設定を保存します。

4.3.2 既存のシナリオを開く

以前に定義してファイルに保存したシナリオがある場合には、そのシナリオを開いてOracle Load Testingで使用できます。

既存のシナリオを開くには、次のようにします。

  1. 「シナリオ」メニューから「開く」を選択します。Oracle Load Testingで、シナリオ・ファイルを選択するダイアログが開きます。シナリオ・ファイルのファイル名拡張子は.scnです。

    リポジトリ: リポジトリのリスト。

    ワークスペース: 選択したリポジトリで使用可能なワークスペースをリストします。

    <シナリオ・リスト>: 選択したワークスペースのシナリオをリストします。

  2. 開こうとしているシナリオを含むリポジトリとワークスペースを選択します。

  3. シナリオを選択して「OK」をクリックします。

4.3.3 シナリオ名の変更

シナリオの名前を変更するには、次のようにします。

  1. 「管理」メニューから「シナリオ」を選択して、「シナリオ・マネージャ」を表示します。

    リポジトリ: リポジトリのリスト。

    ワークスペース: 選択したリポジトリで使用可能なワークスペースをリストします。

    編集: 選択したシナリオを編集する「シナリオの編集」ダイアログ・ボックスを表示します。

    削除: 選択したシナリオを削除します。

    名前: 選択したワークスペースのシナリオをリストします。

  2. 編集するシナリオを選択します。

  3. 「編集」をクリックして「シナリオの編集」ダイアログ・ボックスを表示します。

    名前: シナリオの名前を入力します。

  4. シナリオの新しい名前を入力します。

  5. 「OK」をクリックします。

  6. 「閉じる」をクリックして、「シナリオ・マネージャ」を終了します。

4.3.4 シナリオの削除

シナリオを削除するには、次のようにします。

  1. 「管理」メニューから「シナリオ」を選択して、「シナリオ・マネージャ」を表示します。

    リポジトリ: リポジトリのリスト。

    ワークスペース: 選択したリポジトリで使用可能なワークスペースをリストします。

    編集: 選択したシナリオを編集する「シナリオの編集」ダイアログ・ボックスを表示します。

    削除: 選択したシナリオを削除します。複数のシナリオを選択する場合は[Ctrl]キーを押したままにします。

    名前: 選択したワークスペースのシナリオをリストします。

  2. 削除するシナリオを選択します。複数のシナリオを選択する場合は[Ctrl]キーを押したままにします。

  3. 「削除」をクリックします。

  4. 「はい」をクリックして削除を確定します。

  5. 「閉じる」をクリックして、「シナリオ・マネージャ」を終了します。

4.3.5 シナリオからプロファイルを削除

シナリオ・プロファイル・リストからプロファイルを削除するには、次のようにします。

  1. 必要な場合には、保存されているシナリオ・ファイルを開きます。

  2. 「シナリオの作成」タブを選択します。

  3. 「シナリオのパラメータの構成」リストでプロファイルを選択します。

  4. 「削除」ボタンをクリックします。

  5. 「シナリオ」メニューから「保存」を選択してシナリオを保存します。

4.3.6 コマンドラインからのシナリオの実行

インストール・ディレクトリの\libディレクトリにあるコマンドラインJavaファイル、OLTCommandLine.jarを使用して、シナリオ・ファイルの実行と停止が可能です。シナリオを開始するには、次のコマンド構文を使用します。

cd installdir\lib

OLTCommandLine.jar -run -session=sessionName -scenarioFile=PATH_TO_OLT_SCENARIO_DIR\scenarioFile.scn -OLTServer=hostName:portnumber -user=username -password=password [-log=logfilename]

シナリオを停止するには、次のコマンド構文を使用します。

cd installdir\lib

OLTCommandLine.jar -stop -session=sessionName -OLTServer=hostName:portnumber -user=username -password=password

コマンド・パラメータは次のとおりです。

run - stopコマンドが発行されるまで、またはシナリオに指定された停止条件が満たされるまで、選択したシナリオを実行します。

session - セッションに使用する名前を指定します。セッション名を指定しない場合、Oracle Load Testingでセッション名が生成されます。

scenarioFile - ロードするシナリオ・ファイル。シナリオ・ファイルのフルパスとファイル名を指定します。シナリオ・ファイルの拡張子は.scnです。

stop - 指定したセッションをシャットダウンします。実行中の指定シナリオで、一定の時間や反復回数を定義した停止条件がオートパイロット設定に保存されている場合、stopコマンドは必要ありません。同じコマンドで「-run」と「-stop」の両方を使用することはできません。

session - シャットダウンするセッションを指定します。セッション名はシナリオを実行すると自動的に生成されます。セッション名は、シナリオのrunコマンドライン・パラメータで指定されているログ・ファイルかコンソールから取得できます。

OLTServer - Oracle Load TestingのホストであるWebLogicサーバーの名前を指定します。ポート番号は必須です。

user - WebLogicサーバーの管理者ユーザー名を指定します。デフォルトのユーザー名はoatsです。

password - WebLogicサーバーの管理者ユーザーのパスワードを指定します。

log (オプション) - コンソール出力をlogfilenameにリダイレクトします。ログ・ファイルとして使用するファイルのパスと名前を指定してください。

4.3.6.1 エラー処理

OLTサーバーが実行されていない場合には、エラーが発生します。

シナリオ・ファイルが存在しない場合には、エラーが発生します。

シナリオ・ファイルが適切なxmlでない場合には、エラーが発生します。

4.3.6.2

次の例のコマンドラインは、test1シナリオを開始します。

cd C:\OracleATS\lib
OLTCommandLine.jar -run -scenarioFile="C:\OracleATS\OFT\Default!\test1.scn" -OLTServer=localhost:8088 -user=oats -password=password1 -log C:\OracleATS\OFT\Default!\mylog.log

次の例のコマンドラインは、SESSION0001を停止します。

OLTCommandLine.jar -stop -session="SESSION0001" -OLTServer=localhost:8088 -user=oats -password=password1

4.4 オートパイロットへのシナリオのサブミット

シナリオを定義してプロファイル属性を設定したら、シナリオをOracle Load Testingオートパイロットにサブミットします。

4.4.1 シナリオを開始せずサブミット

オートパイロットを開始せずにシナリオをオートパイロットにサブミットすると、シナリオ・プロファイルを実行する開始時間と終了時間を指定できます。

オートパイロットを開始せずにシナリオをサブミットするには、「オートパイロットに追加」ボタンをクリックします。

シナリオをロードせずにオートパイロット・タブが自動的に開きます。

4.4.2 オートパイロットでシナリオをサブミットおよび開始

デフォルトのオートパイロット設定を使用してシナリオを開始したい場合は、シナリオをサブミットして1ステップで自動的にオートパイロットを開始できます。

シナリオをサブミットしてオートパイロットを開始する場合は、「テストの実行」ボタンをクリックします。

オートパイロット・タブが自動的に開いてシナリオがロードされ、仮想ユーザーの実行が開始されます。「セッション開始/停止」オプションで「レポートのデータの保存」オプションを「はい」または「質問」に設定している場合には、「セッションの保存」ダイアログが開いて次のオプションが表示されます。

レポートのデータの保存: リアルタイムおよびテスト後の解析レポートで仮想ユーザー・データを保存するかどうかを指定します。指定できるオプションは次のとおりです。

  • いいえ: 仮想ユーザー・データを保存しません。リアルタイムまたは実行後のグラフは作成されません。

  • はい: 仮想ユーザー・データがデータベースに保存されます。「レポートの作成」タブを使用すると、後で解析のためにレポートとグラフを生成できます。

Oracle DBのベースラインを実行: 負荷テストのセッション前にOracleデータベースのスナップショットを取得するかどうかを指定します。このオプションが表示されるのは、負荷テストの起動時にセッションの「ServerStats構成」で「Oracle Databaseメトリック」が適用されている場合です。Oracleメトリックは、データベース・ドライバの接続プロパティによって識別されます。負荷テストの実施後にOracleデータベース・メトリックを追加した場合には、負荷テスト中にスナップショットを取得することができません。指定できるオプションは次のとおりです。

  • いいえ: 負荷テスト中にデータベースのスナップショットは取得されません。

  • はい: 負荷テスト中にデータベースのスナップショットとベースラインが作成されます。Oracleデータベースのスナップショットは、パフォーマンス・データの収集中にデータベースでタイムスタンプを記録させるPL/SQLコールです。ベースラインとは、2つのスナップショットのIDを使用するPL/SQLコールです。スナップショット間で記録されたデータが、ユーザー設定の有効期間(デフォルトは8日間)後に無効にならず、無期限で永続化されます。スナップショットとベースラインを使用すると、セッションの実行から長時間が経過していても、Enterprise Managerのドリルダウン情報を取得して負荷テストのセッションに利用することができます。「はい」を選択すると、2つのスナップショット(負荷テスト・セッションの開始時と終了時の各スナップショット)とベースラインによって、セッション中に収集されたデータが無期限に永続化されます。