JMeterは、 パフォーマンステストに使用される負荷テストツールです。パフォーマンステスト担当者は、Webブラウザーにアクションを記録したり、手作業でスクリプトを作成したりして、数百人または数千人のユーザーで実行できます。
JMeterは、さまざまな要素を使用して非常に動的なユーザーやシナリオを作成するために使用できます。たとえば、 CSV Data Set Config
を使用して、Webアプリケーションにログインするユーザーのセットを指定できます。 Regular Expression Extractor
またはCSS / JQuery Extractorを使用して、将来のリクエストで使用されるセッションIDを保存できます。 Groovy言語に結合されたJSR223 PreProcessor
使用して、各ユーザーがPOST
本体の一部として送信される動的な固有のデータを作成できます。
バージョン | Javaバージョン | 発売日 |
---|---|---|
3.2 | Java 8+ | 2017-04-14 |
3.1 | Java 7+ | 2016-11-20 |
3.0 | Java 7+ | 2016年5月17日 |
2.13 | Java 6+ | 2015-03-13 |
2.12 | Java 6+ | 2014-11-10 |
2.11 | Java 6+ | 2014-01-05 |
2.10 | Java 6+ | 2013年10月21日 |
2.9 | Java 6+ | 2013-01-28 |
2.8 | Java 5+ | 2012年10月6日 |
2.7 | Java 5+ | 2012-05-27 |
2.6 | Java 5+ | 2012-02-01 |
2.5.1 | Java 5+ | 2011年10月03日 |
2.5 | Java 5+ | 2011-08-17 |
2.4 | Java 5+ | 2010-07-12 |
2.3.4 | Java 1.4+ | 2009-06-21 |
Apache JMeterのダウンロードページからJMeterのバイナリセクションから分散アーカイブをダウンロードしてください。
ダウンロードしたバージョンに応じて、 最小限のJavaバージョン要件を確認し、必要に応じてJavaをインストールします。 JAVA_HOME
環境変数が設定され、正しいバージョンを指していることを確認しJAVA_HOME
。
選択したディレクトリにある配布アーカイブを展開します。
JMeter UIを開く:
Windowsの場合 : <jmeter_location>\bin
ディレクトリに移動し、 jmeterw.bat
またはjmeter.bat
を実行します。
Linux / Macの場合 : <jmeter_location>/bin
ディレクトリに移動し、 jmeter
または 'jmeter.sh`を実行します。
例えば:
cd /Users/me/apache-jmeter/bin
./jmeter
注 :上記のコマンドがPermission denied
errorで失敗した場合は、 jmeter
ファイルに対してexecute権限をjmeter
ます。
cd /Users/me/apache-jmeter/bin
chmod u+x ./jmeter
JMeterのUIを見ることができれば、基本的な設定は成功しました。
Apache JMeterは、すべてのコンポーネントをその機能に基づいて次のグループに分けました。
Test Plan
:スクリプト作成の開始点。 JMeterは、テスト計画を.jmx形式で保存します。テストプランを右クリックし、追加するコンポーネントに移動して、コンポーネントをテストプランに追加します。 Workbench
:一時的にスクリプトを開始する場所です。テスト計画で利用可能なすべてのコンポーネントに加えて、 HTTP(s) Test Script Recorder
がブラウザのアクションをrecord
するために取得しHTTP(s) Test Script Recorder
。 「ワークベンチを保存」チェックボックスをオンにしている場合は、スクリプトをワークベンチに保存することができます。そうでない場合は、「いいえ」です。 Threads (Users)
:実行する多数の(仮想)ユーザ、ランプアップ時間、ループ回数を定義できます。複数のスレッドグループの場合にスレッドグループを順次実行するか並列実行する必要があるかをテスト計画で定義することもできます。いくつかの例は、 Thread Group, setUp Thread Group, and tearDown Thread Group
Logic Controller
:サンプラーの実行とグループ化のフローを定義できます。便利な例の1つは、ログイン・ページのすべてのサンプラー(画像、.css、および.jsファイルを含むすべてのリソース)を結合して、応答時間を組み合わせることができるトランザクション・コントローラーです。 Sampler
:サンプラーはJMeterの中核です。 HTTP、JDBC、FTP、SMTPなどのさまざまなプロトコルの要求をシミュレートするコンポーネントを提供します。たとえば、HTTPサンプラーでは(GET、POST、またはサポートされるメソッドの)HTTPパケットをシミュレートできます。メインストリームプロトコルがサポートされています。その他のものでは、無料または市販のプラグインを使用できます。 Config Element
:構成要素を使用して、後でサンプラーが使用できるようにデフォルトおよび変数を設定することができます。これらの要素は、通常、スコープの先頭、つまり同じスコープ内のサンプラーの前で処理されることに注意してください。 CSV Dataset Config
では、ユーザー名、ログインシナリオのパスワードなどのテストデータをfrom a file
提供できfrom a file
。 User Defined variables
config要素を使用すると、テスト計画全体で使用できる変数を定義できますが、各スレッドには独自のコピーがあります。 Timer
:デフォルトでは、JMeterスレッドは一時停止せずにサンプラーを順番に実行します。ここで紹介するコンポーネントは、サンプラー間でさまざまな形でUser Think Time
を導入するための機能を提供します。いくつかの例は、 Constant Timer, Constant Throughput Timer.
Pre Processors
:サンプラーが実行される前に操作/アクションを実行できるようにします。 Apache Groovy (Javaコーディングスタイルに似ています)を備えたJSR223 Pre Processor
は、サンプラーを送信する前に変更することができます。 Post Processors
:サンプラーの実行後に操作/アクションを実行できるようにします。いくつかの有用な例は、使用して、そのようなセッションIDなどの動的な値を取得しているRegular Expression Extractor
、テキストの任意のタイプのためのポストプロセッサをCSS/JQuery Extractor
HTMLのため、 JSON Extractor
JSONのため、 XPath Extractor
XMLのために。 Assertions
:名前が示すように、いくつかのテキスト、レスポンスのサイズ、レスポンスを受け取る時間など、さまざまな方法でサンプラーの応答をアサートできます。たとえば、 Response Assertion
を使用してテキストを検索することができます応答で。アサーションに失敗した場合、JMeterは、アサーションが適用されているサンプラを失敗としてマークします。 View Results Tree
を使用して、サンプラーのリクエスト/レスポンスと、PASS(緑色)/ FAIL(赤色) JMeter。集計レポートを使用して、テスト結果をCSV形式で保存することができます。重要な点は、テスト実行前(テストスクリプトデバッグ用)またはテスト実行後(グラフまたは要約で結果を表示)のリスナーを使用し、実行中ではないことです。システムリソースの多くを消費するため、テスト中にリスナーを削除する必要があります。したがって、非GUIモードでテストを実行し、 .csv/.jtl
形式で-l
オプションを使用して結果を保存します。テストを投稿すると、この保存されたファイルをJMeterの任意のリスナーにロードして、グラフ/要約を表示することができます。 以下は一般的な構文です( you add any component on need basis
)。
Test Plan
Thread Group
Config Element
Logic Controller
Pre Processor
Sampler
Timer
Post Processor
Assertion
Listener
参考文献: