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

負荷テストの実行

Load Test コマンドライン インターフェイスから、既存のロードテスト (.lt) ファイルを実行できます。Load Test コマンドラインは、どの .lt ファイルを開き、どのようにテストを実行するかを指定するスクリプトを実行します。テストを実行したいときには、いつでもスクリプトを呼び出します。 

スクリプトの作成

文字エンコーディングが UTF-8 のプレーン テキスト ファイルを作成し、負荷テストを実行するためのコマンドを追加します。お使いのシステムによっては、別の文字エンコーディング規格でテキスト ファイルが作成される場合があります。スクリプトの実行時に問題が発生した場合は、正しいエンコーディングが使用されているかどうかを確認してください。次の書式でスクリプトを記述します。

open <PATH-TO-LT-FILE> 
loadtest <OPTIONS> <SCENARIO-NAME>

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 を呼び出して、スクリプトを実行します。

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 スクリプトを実行します。コマンド ラインからスクリプトを実行するには、両方の引数が必要です。

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 オプションを使用して、ライセンスで許可する仮想ユーザーの数を指定します。

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

-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 フラグを使用してポート番号を指定します。 ポート番号は、サーバーがリスンしているローカル マシンのポートです。  

lt -loadtestserver <PORT> // WINDOWS
./loadtest -loadtestserver <PORT> // Linux and macOS

リモート プロジェクトの設定

詳細については「リモート マシンでの負荷テストの実行」を参照してください。

別のネットワークにある 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 トラフィックを許可してください。ネットワーク構成の問題については、システムまたはネットワーク管理者に相談してください。

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

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

Load Test コマンドライン オプション

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

オプション説明
-cmdコマンドライン モードで Load Test を開始します。Load Test をローカルで実行するために必要です。
-run実行する Load Test スクリプトを指定します。Load Test をローカルで実行するために必要です。 
-licenseserver <HOST>:<PORT> Parasoft License Server がインストールされているマシンのホスト名または IP アドレスとポートを指定します。デフォルトでは、Load Test は GUI で設定されたサーバーにライセンスを要求しますが、このオプションを使用すると、動的にライセンスを要求することができます。任意。
-licenseVus <VALUE>-licenseserver オプションで指定したサーバーに要求したライセンスで許可される仮想ユーザーの数を指定します。整数値を指定します。無制限の仮想ユーザーライセンスの場合は unlimited を指定します。

-loadtestserver <PORT> 

指定されたポート番号で 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