ヘッダーをスキップ

Oracle® Load Testing Load Testingユーザーズ・ガイド バージョン9.20 B62626-01 |
| 目次 | 索引

戻る | 次へ |

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

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

## 4.1 シナリオの定義

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

- シミュレートする仮想ユーザー数

- 仮想ユーザーが実行されるシステム

- エミュレートするブラウザ

- 仮想ユーザーの反復間の遅延

- スクリプトのペーシング

- シミュレートするユーザーのタイプ

- オブジェクトのダウンロード

- データバンクの使用

- 同期ポイントの使用

- 仮想ユーザーのエラー処理

- 仮想ユーザー・ディスプレイ・コンポーネントで参照するための仮想ユーザーの設定

次の項では、仮想ユーザー・シナリオを指定する方法を説明します。

### 4.1.1 プロファイルの選択

仮想ユーザー・プロファイルを設定したら、Webページまたはアプリケーション上でパフォーマンスおよび負荷テストを実行するためのOracle Load Testingシナリオを定義できます。仮想ユーザー・プロファイルには、デフォルト・プロファイル（基本的なOracle OpenScriptスクリプト）またはOracle Load Testingで作成されたユーザー定義プロファイルを使用できます。

プロファイルをシナリオ・プロファイル・リストに追加するには、次の手順を行います。

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またはその他の速度を使用してダイアルアップ接続をシミュレートする場合は、特定の速度を設定します。仮想ユーザーで実際の接続速度を使用する場合は、速度を「実際の速度」に設定します。

   - キャッシュ エミュレーション: シミュレーションするユーザーのタイプを示します。これは、仮想ユーザーの様々なプロファイルをシミュレーションするのに便利です。ユーザーが初めてアクセスする場合、ページやイメージがキャッシュされていないために、Webサーバーにかかる負荷は大きくなります。ユーザーが繰り返しアクセスする場合、新しいページのみがリクエストされてWebサーバーから取得されるため、サーバーにかかる負荷は小さくなります。次の3つのオプションがあります。

     - キャッシュしない: キャッシュは使用されません。

     - 初回のアクセス: 仮想ユーザーは、反復ごとにWebサイトまたはアプリケーションを初めて使用するとみなされるため、キャッシュは使用されません。キャッシュは反復中に使用されます。

     - 繰返し: 仮想ユーザーは、以前に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は各OpenScriptステップ・グループに対してレポート用のタイマーを自動的に追加します。Oracle Load Testingでは、シナリオによって再生されたスクリプトの各ステップ・グループに対するパフォーマンス監視およびタイミング情報を提供する目的でタイマーが使用されます。

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

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

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

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

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

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

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

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

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

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

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

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

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

   Java クライアント詳細設定: デフォルト値に設定されているときは、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 ヒープ サイズ（MB）: 最大のJVMヒープ・サイズを指定します。この値は、合計メモリー・サイズの90%より大きくすることはできません。

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

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

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

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

   - DEFLATE を有効: 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 文字列: この設定はAccept: HTTPヘッダー値を制御します。別のものを選択する場合は、文字列を入力します。JavaAgent.propertiesファイルでのデフォルトはtext/html、image/gif、image/jpeg、*/*です。カスタムAccept:ヘッダーを追加することでスクリプト内のナビゲーションを変更した場合は、スクリプトからのカスタム・ヘッダー値が使用されます。

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

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

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

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

   - 最大 KEEP ALIVE リクエスト数: 「その他」を選択して、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負荷: Oracle Forms負荷テスト・モジュールのエラー・リカバリ設定は次のとおりです。

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

   - Forms I/O 通信エラー: 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に設定されている場合、再生中にスクリプト・リソースはダウンロードされません。

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

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

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

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

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

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

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

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

     - データベースへの接続

     - 問合せ

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

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

     - 切断

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

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

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

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

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

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

6. 属性を設定します。

7. 各スクリプトおよびユーザー定義プロファイルに対して手順5および6を繰り返すか、右クリック・メニューのコピー・アンド・ペースト機能を使用して、スクリプトまたはユーザー定義プロファイルの設定を別のスクリプトまたはユーザー定義プロファイルにコピーします。

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

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

確実に実行され、アプリケーションの正確なパフォーマンス・データを提供できる仮想ユーザーの数は、いくつかの要因によって決定します。

- アプリケーションで必要なリソース

- 負荷テストで使用されるマシンの数

- 各マシンのメモリー量

- 使用されるオペレーティング・システム

- CPU使用率

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

- 負荷テストの各システム（Oracle Load Testingシステムおよび各エージェント・システムを含む）でのCPU使用率を90%未満に維持します。

- 負荷テストの各システムのメモリー消費率を、物理メモリー量の70〜75%未満に維持します。仮想ユーザーの数を、メモリーのページ・スワッピングが発生する場所では少数に抑えます。

- CPU使用率またはメモリーの限界を超える仮想ユーザー数を負荷テストで実行する必要がある場合は、システムに物理メモリーを追加するか、エージェント・システムを追加する必要があります。

Windows 2000/2003のPerfmonまたはタスク・マネージャなどのシステム・パフォーマンス・モニタリング・ツールを使用して、システムのリソース使用率を測定できます。

### 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の詳細設定を設定することができます。

注意: シナリオに同一プロファイルを2回以上追加している場合は、プロファイルの最初のインスタンスに設定されたデータバンク設定が、シナリオ内のプロファイルのすべてのインスタンスに適用されます。

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

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

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

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

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

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

6. 「データバンクの設定」ボタンをクリックします。

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

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

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

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

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

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

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

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

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

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

   - 次レコードへ移動: スクリプトの再生中に、仮想ユーザーが次のデータバンク・レコードに移動するかどうかを指定します。次のオプションを使用できます。

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

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

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

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

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

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

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

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

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

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

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

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

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

   - レコードの重複割り当てを有効にする: 選択すると、各仮想ユーザーはただちにレコードを処理します。たとえば、VU 1はレコード1、2、3……を取得し、VU 2はレコード1、2、3……を取得します。 このオプションは、複数の仮想ユーザーを実行するシナリオにのみ適用されます。

     このオプションを適用できるのは、インデックス化が可能なデータバンクのみです。データバンクを設定するとき、データバンク・ファイルが大きすぎてインデックス化できない場合、「レコードの重複割り当てを有効にする」オプションは使用できません。

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

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

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

### 4.1.6 同期ポイントの使用方法

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

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

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

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

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

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

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

4. Synchronization Pointを選択し、「OK」をクリックします。

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

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

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

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

2. 同期ポイントが割り当てられているスクリプトを選択し、シナリオに追加します。

3. 「同期ポイントの設定」アイコンをクリックします。

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

   名称: 同期ポイントの名前を指定します。この名前は、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. WinInetを使用している場合は、「詳細設定」セクションで、「プロセスごとの最大ユーザー数」を1に設定します。

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

各エージェント・マシンの仮想ユーザーが、定義済の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 シナリオを開始せずに発行

オートパイロットを開始せずにシナリオを発行すると、シナリオ・プロファイル実行の開始および停止を指定することができます。

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

Oracle Load Testingで、シナリオがロードされたオートパイロット・タブが自動的に開きます。

### 4.4.2 シナリオをオートパイロットに発行して開始

デフォルトのオートパイロット設定を使用してシナリオを開始する場合は、シナリオを発行すると同時にオートパイロットを開始することができます。

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

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

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

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

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

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

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

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