このセクションでは、コマンド ライン インターフェイスから負荷テストを実行する方法を説明します。

リモート マシンでの Load Test Server の開始

リモート マシンでテストを実行するには、そのマシンで Load Test Server が実行されていなければなりません。 

Windows

Windows マシンで Load Test Server を起動するには、次の書式でコマンドを入力します。

Windows: lt -loadtestserver [portnumber]

例:
lt -loadtestserver 10095

ポート番号は、サーバーがリッスンしているローカル マシンのポートです。

 テスト設定に合わせて適切なポート番号を入力します。

Linux/Mac

Linux/Mac マシンで Load Test Server を起動するには、次の書式でコマンドを入力します。

loadtest -loadtestserver [portnumber]

例:
loadtest -loadtestserver 10095

ポート番号は、サーバーがリッスンしているローカル マシンのポートです。

テスト設定に合わせて適切なポート番号を入力します。

別のネットワークにある Load Test マシンの操作

GUI モードで実行され、負荷テストを制御するためのインターフェイスを提供するマシンが、負荷テスト コントローラー マシンです。Load Test コントローラー マシンは、別のネットワーク上にある Load Test Server マシンと通信できます。ただし、それらのネットワークを中継するネットワーク装置が、Load Test Server マシンが待機しているポート上での通信を許可している必要があります。

たとえば、ネットワーク A で Load Test コントローラーを実行し、ネットワーク B で lt -loadtestserver 10095 コマンドを実行して Load Test Server をポート 10095 で開始した場合、ネットワーク A とネットワーク B 間のポート 10095 の通信は、ネットワーク装置によって制限されてはなりません。該当ポートでのすべての TCP トラフィックを許可してください。ネットワーク構成の問題については、システムまたはネットワーク管理者に相談してください。

負荷テストの実行

どの .lt ファイルを開くか、およびどのようにテストを実行するかを指定するスクリプトを作成します。テストを実行したいときにスクリプトを呼び出します。 

スクリプトの作成

スクリプト ファイルは UTF-8 文字エンコーディングで保存する必要があります。システムは、別の文字エンコーディング標準を使用してテキスト ファイルを作成する場合があります。スクリプトの実行で問題が発生した場合は、正しいエンコーディングが使用されていることを確認してください。次の形式のコマンドを含むテキストファイルを作成します:

open FilePath
 
loadtest [-version] 
[-localSettings path_to_local_settings_file] [-env environment_name] 
[-minutes number] 
[-vus number | -hps number] 
[-teamServer path_inside_team_server] 
[-report path_to_report_file] 
[-html html_directory] 
ScenarioName

loadtest コマンドは、指定されたシナリオを使用してテスト スイートを実行します。loadtest コマンド オプションの一覧と説明については、下のLoad Test コマンドリファレンス表を参照してください。

スクリプトでの変数の使用

スクリプトで変数を宣言して使用できます。変数を宣言するには、以下の方法があります。

var VariableName1 = VariableValue
var VariableName2 = "Variable Value with Spaces"

次のようにすると、宣言済みの変数に新しい名前を割り当てられます。

var VariableName1 = NewVariableValue

サンプル スクリプト

下記はサンプル スクリプトです (スクリプトのコメントは 「#」印の後に記述します)。

#
# Using script commands
#
 
var report-home = C:\CONTINUOUS_LOAD_TEST\ENTERPRISE_LOAD_TEST 
var minutes = 1
 
var scenario = "Steady Load"
var base = tests/loadtester/accuracytest/tests 
var category = Accuracy
 
var test-name = 1-Profile-HPS
open ${base}/${test-name}.lt
loadtest -minutes ${minutes} -allReports ${report-home}/%d/${category}/${test-name} ${scenario}

スクリプトの実行

Load Test Server を開始する際にスクリプトを呼び出すには、次の操作を行います。

  • 以下のどちらかの書式でコマンドを入力し、Load Test を呼び出します。
    • Windows: lt.exe -cmd -run your_command_file
    • Linux: loadtest -cmd -run your_command_file

-Cmd 引数はコマンド ライン モードで Load Test を開始し、-run 引数は指定された Load Test スクリプトを実行します。コマンド ラインからスクリプトを実行するには、両方の引数が必要です。

Load Test コマンド リファレンス

次のコマンドを使用すると、Load Test Server を開始して負荷テストを実行できます。

Load Test スタートアップ コマンド

次のコマンドは、Windows のコマンド プロンプトまたは Linux のシェルで使用します。

コマンド説明

Windows
lt -loadtestserver [server number] 

Linux/Mac
loadtest -loadtestserver [portnumber]

指定されたポート番号で Load Test Server を開始します。ポート 8999 で Load Test Server を開始する場合、コマンド ライン引数で次のようにポート番号を指定します。

lt.exe -loadtestserver 8999

Load Test スクリプト コマンド

コマンドオプション および オプションの引数説明
var

書式: var variable_name = variable_value

変数名を宣言し、値を代入します。変数の値を取得するには、${variable_name} という構文を使用します。

open

書式: open path_to_load_test_project_file

指定されたプロジェクトを Load Test で開きます。プロジェクトをロードした後、loadtest コマンドを使用します。

loadtest

書式: loadtest [-version] [-localSettings path_to_local_settings_file] [-env environment_name] [-minutes number] [-vus number | -hps number] [-teamServer
path_inside_team_server]  [-report path_to_report_file] [-html html_directory] [-allReports reportsPath][-trimReportSeconds headSeconds tailSeconds][trimReportPercentage headPercentage tailPercentage]ScenarioName

指定されたシナリオおよびオプションを使用してテスト スイートの負荷テストを実行します。詳細については下の行を参照してください。


-localSettings
path_to_local_settings_file
構成および設定パラメーターを含むローカル設定ファイル (Local Settings Filesを参照) へのパスを指定します。

-env environment_nameアクティブな環境を設定します。環境は、Load Test が使用する SOAtest プロジェクトの一部です。

-minutes numberテスト持続時間を分単位で指定します。コマンドでテスト持続時間を指定した場合、シナリオで指定されたテスト持続時間が上書きされます。

-vus number負荷テスト構成に登録された各マシンで実行する仮想ユーザー数を設定します。実行モードが「加重プロファイル」に切り替えられ、負荷テスト構成に登録された各マシンは、指定された数の仮想ユーザーを Steady Load パターンで実行するよう設定されます。

-hps number負荷テスト構成に登録された各マシンで実行するヒット (秒)を設定します。実行モードが「加重プロファイル」に切り替えられ、負荷テスト構成に登録された各マシンは、指定されたヒット (秒)を Steady Load パターンで実行するよう設定されます。

-teamServer
path_inside_team_server
Team Server の指定されたパスに、必要なレポートを送信します。ローカル設定ファイルで指定された Team Server を使用します。ローカル設定ファイルが指定されていない場合、Load Test の設定ページで指定された Team Server を使用します。詳細および使用例については、Load Test Continuumを参照してください。-tcm path_inside_team_server は非推奨ですが、サポートされています。

-report path_to_report_file指定された名前のバイナリ レポートを生成します。

-html html_directory指定されたディレクトリに、指定された名前の HTML レポートを生成します。

-allReports reportsPath指定されたディレクトリ パスの下に、バイナリ、XML、HTML レポートを生成します。

-trimReportSeconds headSeconds tailSecondsレポートの先頭と末尾からカットする期間 (単位:秒) を指定します。*秒数は正の整数でなければなりません。headSeconds と tailSeconds の値の合計がレポート期間より長い場合、トリミングは行われません。

-trimReportPercentage headPercentage tailPercentageレポートの先頭と末尾からカットする期間 (レポート期間に対する相対的なパーセンテージ) を指定します。*パーセンテージの値は正の整数でなければなりません。headPercentage と tailPercentage の値の合計が 100 以上の場合、トリミングは行われません。

* Load Test がレポートするデータは、約 3 秒間隔で収集および保存されます。trimReport…

コマンドは、指定された期間にあてはまるすべてのレポート収集ポイントを破棄します。レポート収集ポイントの回数と指定されたトリム値は一致しない場合がある (実際に多くの場合は一致しない) ため、レポートの先頭および末尾からカットされる実際の期間は、コマンド ラインで指定された期間より長くなる可能性があります。レポートの先頭および末尾から余分にカットされる期間は、データ収集間隔を超えることはありません。レポートの断片がどのように保存されるかの詳細については、「Understanding Report Interval Selection」を参照してください。

ローカル設定ファイル

ローカル設定ファイルを使用すると、Load Test のさまざまなオプションをコントロールできます。複数のプロジェクトに対し、複数のローカル設定ファイルを作成し、-localSettings スクリプト オプションを使用して、コマンド ライン テストで使用するファイルを指定できます。

ファイルにパラメーターが指定されている場合、Load Test 設定ページで指定されているパラメーターが上書きされます。ファイルにパラメーターが指定されていない場合、Load Test 設定ページで指定されているパラメーターが使用されます。Load Test 設定ページにパラメーターが存在しない場合、デフォルト値が使用されます。

デフォルト設定を使用するには、ファイルの設定を削除するか、コメントアウトします。ファイルでは次の書式を使用して、名前/値のパラメーターを記述します。

nameString=valueString

各名前/値のペアは、個別の行に記述する必要があります。名前/値のペアをコメントアウトするには、ハッシュ記号 「#」を使用します。

サンプル

下はローカル設定ファイルの内容の例です。

# This is a commment 
echo=false
team.server.host=localhost 
team.server.port=18888 
team.server.user=
team.server.password=

利用可能な設定

設定説明
echo=true|falsetrue の場合、Load Test は設定をコンソールに出力します。デフォルトの設定は true です。この設定を使用する場合、ローカル設定ファイルの最初のエントリでなければなりません。

console.log=enable

コマンド ライン モードでのコンソール ログ記録を有効にします。下のConsole Loggingセクションを参照してください。デフォルトの設定は無効です。
team.server.host=host_nameTeam Server のホスト名です。この設定が指定されていない場合、Load Test 設定ページの Team Server 設定が使用されます。
team.server.port=port_numberTeam Server のポート番号です。この設定が指定されていない場合、Load Test 設定ページの Team Server 設定が使用されます。
team.server.user=user

Team Server のユーザー名です。ユーザー名を空にするには、この設定を空のままにします。この設定が指定されていない場合、Load Test 設定ページの Team Server 設定が使用されます。

この Team Server パラメーターは任意です。たいていの場合は必要ありません。

team.server.password=password

Team Server のパスワードです。パスワードを空にするには、この設定を空のままにします。この設定が指定されていない場合、Load Test 設定ページの Team Server 設定が使用されます。

この Team Server パラメーターは任意です。たいていの場合は必要ありません。

コンソールのログ記録

コンソールのログ記録を使用すると、コマンド ライン モードでの負荷テストのステータス情報をテスト実行中に参照できます。コンソールのログ記録が有効な場合 (console.log=enableローカル設定を参照)、主要な負荷テスト実行時パラメーターがコンソールに出力されます。負荷テストのステータスは、30 秒ごとに 1 行で表示されます。以下の情報が表示されます。

  • システム時間
  • 完了率
  • 実行時間完了済み秒数/合計
  • 成功したテスト/失敗したテスト合計数
  • 直前のログ以後の平均仮想ユーザー数
  • 直前のログ以後の平均ヒット (秒)

例:

2011.04.21 17:54:56 MDT | 53% complete | 32/60 seconds | passed 245/failed 0 | avg. VUs 4 |avg. HPS 8
  • No labels