エージェントプロセスのチューニング - Oracle Load Testing

 

  1. 概要
    負荷テストではエージェントプロセスがテスト対象のサーバに複数セッションでの接続を行います。
    Oracle Load Testing の初期状態では、すべての仮想ユーザーが1つのエージェントプロセスで実行されます。
    負荷テスト時にエージェントプロセスで java.lang.OutOfMemoryError が発生する場合は、エージェントプロセスあたりの仮想ユーザー数を制限してメモリの利用量を少なくすることができます。
    またエージェントプロセスは JVM 上で動作しており、このJVMのメモリヒープサイズ (初期値は256MB) を増減することによっても調整できます。

    例: 最大1000VUのテストを行うが、500VU程度でエラーが発生する
     - エージェントプロセスあたりの仮想ユーザー数を 400 に変更する
     - JVMのヒープサイズを 1024MB に変更する



     
  2. 操作ガイド
    • システム共通の設定
      1. Oracle Load Testing のメニューより、[ツール]-[オプション] を選択します。
      2. 左側のノードより、[シナリオデフォルト] を選択します。

         
      3. [詳細設定] セクションの [プロセスごとの最大ユーザー数] から単一プロセスごとの最大仮想ユーザー数を設定します。
        仮想ユーザー数が単一プロセスで最大数を超過すると、Oracle Load Testingは新規プロセスを生成し、追加の仮想ユーザーを新規プロセスのスレッドとして実行します。
      4. [Javaクライアント詳細設定] セクションの [最大 JVM ヒープサイズ (MB)] からエージェントプロセスが使用する最大のJVMヒープ・サイズを指定します。
        デフォルトは256MBです。この値は、合計メモリー・サイズの90%より大きくすることはできません。
      5. [OK] ボタンをクリックします。
    • スクリプトごとの設定
      ※ 複数スクリプトごとに [プロセスごとの最大ユーザー数] を設定することが可能ですが、設定値に "無制限" を指定したスクリプトは新たにエージェントプロセスを生成せず、他のスクリプトで設定したエージェントプロセス内で実行されます。
      例えば、他のスクリプトで設定値を "100" と指定しても、"無制限" と設定されたスクリプトが存在すると 100 以上のユーザーがそのエージェントプロセスで実行されます。
       
      1. テストを行うスクリプトをシナリオに追加します。
        User-Agentの設定 - Oracle Load Testing - Oracle Wiki
         
      2. スクリプト名 あるいは 虫眼鏡アイコン(すべてのパラメータの設定) をクリックします。

         
      3. [詳細設定] セクションの [プロセスごとの最大ユーザー数] から単一プロセスごとの最大仮想ユーザー数を設定します。
        仮想ユーザー数が単一プロセスで最大数を超過すると、Oracle Load Testingは新規プロセスを生成し、追加の仮想ユーザーを新規プロセスのスレッドとして実行します。
      4. [Javaクライアント詳細設定] セクションの [最大 JVM ヒープサイズ (MB)] からエージェントプロセスが使用する最大のJVMヒープ・サイズを指定します。
        デフォルトは256MBです。この値は、合計メモリー・サイズの90%より大きくすることはできません。
      5. [OK] ボタンをクリックします。
         
  3. 最大 JVM ヒープサイズ
    Windows (32bit)上のJVMに指定できるヒープサイズは実質1.5G前後となります。
    詳しくは以下を参照してください。
    Frequently Asked Questions About the Java HotSpot VM - Why can't I get a larger heap with the 32-bit JVM?

     
本ページは Oracle Application Testing Suite 9.21 の機能を元に記述しています