このセクションでは、コマンド ライン インターフェイスから負荷テストを実行する方法を説明します。
リモート マシンでの Load Test Server の開始
リモート マシンでテストを実行するには、そのマシンで Load Test Server が実行されていなければなりません。
Windows
Windows マシンで Load Test Server を起動するには、次の書式でコマンドを入力します。
Windows: lt -loadtestserver [portnumber]
例:lt -loadtestserver 10095
Note | ||
---|---|---|
| ||
テスト設定に合わせて適切なポート番号を入力します。 |
Linux/Mac
Linux/Mac マシンで Load Test Server を起動するには、次の書式でコマンドを入力します。
loadtest -loadtestserver [portnumber]
例:loadtest -loadtestserver 10095
Note | ||
---|---|---|
| ||
テスト設定に合わせて適切なポート番号を入力します。 |
別のネットワークにある 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 文字エンコーディングで保存する必要があります。システムは、別の文字エンコーディング標準を使用してテキスト ファイルを作成する場合があります。スクリプトの実行で問題が発生した場合は、正しいエンコーディングが使用されていることを確認してください。次の形式のコマンドを含むテキストファイルを作成します:
Code Block |
---|
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 コマンドリファレンス表を参照してください。
スクリプトでの変数の使用
インターフェイスから既存の負荷テストを実行する方法を説明します。このセクションの内容:
Table of Contents | ||
---|---|---|
|
負荷テストの実行
Load Test コマンドライン インターフェイスから、既存のロードテスト (.lt) ファイルを実行できます。Load Test コマンドラインは、どの .lt ファイルを開き、どのようにテストを実行するかを指定するスクリプトを実行します。テストを実行したいときには、いつでもスクリプトを呼び出します。
スクリプトの作成
文字エンコーディングが UTF-8 のプレーン テキスト ファイルを作成し、負荷テストを実行するためのコマンドを追加します。お使いのシステムによっては、別の文字エンコーディング規格でテキスト ファイルが作成される場合があります。スクリプトの実行時に問題が発生した場合は、正しいエンコーディングが使用されているかどうかを確認してください。次の書式でスクリプトを記述します。
Code Block |
---|
open <PATH-TO-LT-FILE> loadtest <OPTIONS> <SCENARIO-NAME> |
loadtest
コマンドは、指定したシナリオを使ってテスト スイートの負荷テストを実行します。使用可能な loadtest コマンド オプションの詳細については、「Load Test コマンド リファレンス」を参照してください。
変数の使用
スクリプトで使用したい変数を以下の構文で宣言します。スクリプトで変数を宣言して使用できます。変数を宣言するには、以下の方法があります。
Code Block |
---|
var VariableName1 = VariableValue var VariableName2 = "Variable Value with Spaces" |
次のようにすると、宣言済みの変数に新しい名前を割り当てられます。宣言済みの変数に新しい名前を割り当てることができます。
Code Block |
---|
var VariableName1 = NewVariableValue |
サンプル スクリプト
下記はサンプル スクリプトです (スクリプトのコメントは 「#」印の後に記述します)。
Code Block |
---|
# # 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
- Windows:
コマンドラインから Load Test を呼び出して、スクリプトを実行します。
Code Block | ||
---|---|---|
| ||
lt.exe -cmd -run <PATH_TO_YOUR_SCRIPT> // WINDOWS ./loadtest -cmd -run <PATH_TO_YOUR_SCRIPT> // Linux and macOS |
-cmd
引数は、コマンドライン モードで Load Test を開始します。-run 引数は、指定された Load Test スクリプトを実行します。コマンド ラインからスクリプトを実行するには、両方の引数が必要です。
Code Block | ||
---|---|---|
| ||
lt.exe -cmd -run <PATH_TO_YOUR_SCRIPT> // WINDOWS ./loadtest -cmd -run <PATH_TO_YOUR_SCRIPT> // Linux and macOS |
動的なライセンス要求
コマンドライン モードで Load Test を実行すると、GUI モードで設定したライセンスがデフォルトで使用されます。-licenseserver
オプションを使用して、Parasoft License Server にライセンスを動的に要求することもできます。License Server のホストとポートを指定し、-licenseVus
オプションを使用して、ライセンスで許可する仮想ユーザーの数を指定します。
Code Block | ||
---|---|---|
| ||
lt.exe -cmd -run <PATH_TO_YOUR_SCRIPT> -licenseserver <HOST>:<PORT> -licenseVus <INTEGER> // WINDOWS ./loadtest -cmd -run <PATH_TO_YOUR_SCRIPT> -licenseserver <HOST>:<PORT> -licenseVus <INTEGER> // Linux and macOS |
例
Code Block |
---|
-licenseserver LicenseServerHost:2002 -licenseVus 100 // Requests a 100-VU Load Test license -licenseserver LicenseServerHost:2002 -licenseVus Unlimited // Requests an Unlimited VU Load Test license -licenseserver LicenseServerHost:2002 // Requests basic 5-VU Load Test license |
リモート マシンでの負荷テストの実行
コマンドラインからリモート マシンで負荷テストを実行することができます。それには、Load Test のリモート インスタンスをサーバー モードで起動し、リモート サーバーでテストを実行するように設定された Load Test のローカル インスタンスでプロジェクトを実行します。
サーバーモードでの Load Test の開始
Load Test をリモートで実行できるようにするには、-loadtestserver
フラグを使用してポート番号を指定します。 ポート番号は、サーバーがリスンしているローカル マシンのポートです。
Code Block | ||
---|---|---|
| ||
lt -loadtestserver <PORT> // WINDOWS ./loadtest -loadtestserver <PORT> // Linux and macOS |
リモート プロジェクトの設定
詳細については「Running Load Tests on Remote Machines」を参照してください。
別のネットワークにある Load Test マシンの操作
GUI モードで実行され、負荷テストを制御するためのインターフェイスを提供するマシンが Load Test コントローラー マシンです。Load Test コントローラー マシンは、別のネットワーク上にある Load Test Server マシンと通信できます。ただし、それらのネットワークを中継するネットワーク装置が、Load Test Server マシンがリスンしているポートでの通信を許可している必要があります
たとえば、ネットワーク A で Load Test コントローラーを実行し、ネットワーク B で lt -loadtestserver 10095
コマンドによって Load Test Server をポート 10095 で開始した場合、ネットワーク A とネットワーク B 間のポート 10095 での通信は、ネットワーク装置によって制限されてはなりません。該当ポートでのすべての TCP トラフィックを許可してください。ネットワーク構成の問題については、システムまたはネットワーク管理者に相談してください。-Cmd
引数はコマンド ライン モードで Load Test を開始し、-run
引数は指定された Load Test スクリプトを実行します。コマンド ラインからスクリプトを実行するには、両方の引数が必要です。
Load Test コマンド リファレンス
Anchor | ||||
---|---|---|---|---|
|
次のコマンドを使用すると、Load Test Server を開始して負荷テストを実行できます。
Load Test
...
コマンドライン オプション
次のコマンドは、Windows のコマンド プロンプトまたは Linux のシェルで使用します。
Scroll Table Layout | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
オプション | 説明 |
---|---|
-cmd | コマンドライン モードで Load Test を開始します。Load Test をローカルで実行するために必要です。 |
-run | 実行する Load Test スクリプトを指定します。Load Test をローカルで実行するために必要です。 |
-licenseserver <HOST>:<PORT> | Parasoft License Server がインストールされているマシンのホスト名または IP アドレスとポートを指定します。デフォルトでは、Load Test は GUI で設定されたサーバーにライセンスを要求しますが、このオプションを使用すると、動的にライセンスを要求することができます。任意。 |
-licenseVus <VALUE> | -licenseserver オプションで指定したサーバーに要求したライセンスで許可される仮想ユーザーの数を指定します。整数値を指定します。無制限の仮想ユーザーライセンスの場合は unlimited を指定します。 |
|
Windows
lt -loadtestserver [server number]
loadtest -loadtestserver [portnumber]
指定されたポート番号で Load Test Server を開始します。ポート 8999 で Load Test Server を開始する場合、コマンド ライン引数で次のようにポート番号を指定します。
|
Load Test スクリプト コマンド
Scroll Table Layout | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
コマンド | オプション および オプションの引数 | 説明 |
---|---|---|
var | 書式: 変数名を宣言し、値を代入します。変数の値を取得するには、${variable_name} という構文を使用します。 | |
open | 書式: 指定されたプロジェクトを Load Test で開きます。プロジェクトをロードした後、loadtest コマンドを使用します。 | |
loadtest | 書式: 指定されたシナリオおよびオプションを使用してテスト スイートの負荷テストを実行します。詳細については下の行を参照してください。 | |
-localSettings path_to_local_settings_file | 構成および設定パラメーターを含むローカル設定ファイル (Load Test コマンド ライン インターフェイス (CLI)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 以上の場合、トリミングは行われません。 |
...
コマンドは、指定された期間にあてはまるすべてのレポート収集ポイントを破棄します。レポート収集ポイントの回数と指定されたトリム値は一致しない場合がある (実際に多くの場合は一致しない) ため、レポートの先頭および末尾からカットされる実際の期間は、コマンド ラインで指定された期間より長くなる可能性があります。レポートの先頭および末尾から余分にカットされる期間は、データ収集間隔を超えることはありません。レポートの断片がどのように保存されるかの詳細については、「Understanding Report Interval Selection」を参照してください。
ローカル設定ファイル
Anchor | ||||
---|---|---|---|---|
|
ローカル設定ファイルを使用すると、Load Test のさまざまなオプションをコントロールできます。複数のプロジェクトに対し、複数のローカル設定ファイルを作成し、-localSettings
スクリプト オプションを使用して、コマンド ライン テストで使用するファイルを指定できます。
...
各名前/値のペアは、個別の行に記述する必要があります。名前/値のペアをコメントアウトするには、ハッシュ記号 「#」を使用します。
サンプル
下はローカル設定ファイルの内容の例です。
Code Block |
---|
# This is a commment echo=false team.server.host=localhost team.server.port=18888 team.server.user= team.server.password= |
利用可能な設定
設定 | 説明 | ||||||
---|---|---|---|---|---|---|---|
echo=true|false | true の場合、Load Test は設定をコンソールに出力します。デフォルトの設定は true です。この設定を使用する場合、ローカル設定ファイルの最初のエントリでなければなりません。 | ||||||
| コマンド ライン モードでのコンソール ログ記録を有効にします。下のLoad Test コマンド ライン インターフェイス (CLI)Console Loggingセクションを参照してください。デフォルトの設定は無効です。 | ||||||
team.server.host=host_name | Team Server のホスト名です。この設定が指定されていない場合、Load Test 設定ページの Team Server 設定が使用されます。 | ||||||
team.server.port=port_number | Team 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 パラメーターは任意です。たいていの場合は必要ありません。 |
コンソールのログ記録
Anchor | ||||
---|---|---|---|---|
|
コンソールのログ記録を使用すると、コマンド ライン モードでの負荷テストのステータス情報をテスト実行中に参照できます。コンソールのログ記録が有効な場合 (Load Test コマンド ライン インターフェイス (CLI)
console.log=enable
ローカル設定を参照)、主要な負荷テスト実行時パラメーターがコンソールに出力されます。負荷テストのステータスは、30 秒ごとに 1 行で表示されます。以下の情報が表示されます。
...