Looking for jmeter Answers? Try Ask4KnowledgeBase
Looking for jmeter Keywords? Try Ask4Keywords

Apache JMeterApache JMeterを使い始める


備考

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

インストールまたはセットアップ

  1. Apache JMeterのダウンロードページからJMeterのバイナリセクションから分散アーカイブをダウンロードしてください。

  2. ダウンロードしたバージョンに応じて、 最小限のJavaバージョン要件を確認し、必要に応じてJavaをインストールします。 JAVA_HOME 環境変数が設定され、正しいバージョンを指していることを確認しJAVA_HOME

  3. 選択したディレクトリにある配布アーカイブを展開します。

  4. 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を見ることができれば、基本的な設定は成功しました。

JMETER_UI

高レベルでのApache JMeterコンポーネントの概要

Apache JMeterは、すべてのコンポーネントをその機能に基づいて次のグループに分けました。

  1. Test Plan :スクリプト作成の開始点。 JMeterは、テスト計画を.jmx形式で保存します。テストプランを右クリックし、追加するコンポーネントに移動して、コンポーネントをテストプランに追加します。
  2. Workbench :一時的にスクリプトを開始する場所です。テスト計画で利用可能なすべてのコンポーネントに加えて、 HTTP(s) Test Script Recorder がブラウザのアクションをrecord するために取得しHTTP(s) Test Script Recorder 。 「ワークベンチを保存」チェックボックスをオンにしている場合は、スクリプトをワークベンチに保存することができます。そうでない場合は、「いいえ」です。
  3. Threads (Users) :実行する多数の(仮想)ユーザ、ランプアップ時間、ループ回数を定義できます。複数のスレッドグループの場合にスレッドグループを順次実行するか並列実行する必要があるかをテスト計画で定義することもできます。いくつかの例は、 Thread Group, setUp Thread Group, and tearDown Thread Group
  4. Logic Controller :サンプラーの実行とグループ化のフローを定義できます。便利な例の1つは、ログイン・ページのすべてのサンプラー(画像、.css、および.jsファイルを含むすべてのリソース)を結合して、応答時間を組み合わせることができるトランザクション・コントローラーです。
  5. Sampler :サンプラーはJMeterの中核です。 HTTP、JDBC、FTP、SMTPなどのさまざまなプロトコルの要求をシミュレートするコンポーネントを提供します。たとえば、HTTPサンプラーでは(GET、POST、またはサポートされるメソッドの)HTTPパケットをシミュレートできます。メインストリームプロトコルがサポートされています。その他のものでは、無料または市販のプラグインを使用できます。
  6. Config Element :構成要素を使用して、後でサンプラーが使用できるようにデフォルトおよび変数を設定することができます。これらの要素は、通常、スコープの先頭、つまり同じスコープ内のサンプラーの前で処理されることに注意してください。 CSV Dataset Config では、ユーザー名、ログインシナリオのパスワードなどのテストデータをfrom a file 提供できfrom a fileUser Defined variables config要素を使用すると、テスト計画全体で使用できる変数を定義できますが、各スレッドには独自のコピーがあります。
  7. Timer :デフォルトでは、JMeterスレッドは一時停止せずにサンプラーを順番に実行します。ここで紹介するコンポーネントは、サンプラー間でさまざまな形でUser Think Time を導入するための機能を提供します。いくつかの例は、 Constant Timer, Constant Throughput Timer.
  8. Pre Processors :サンプラーが実行される前に操作/アクションを実行できるようにします。 Apache Groovy (Javaコーディングスタイルに似ています)を備えたJSR223 Pre Processor は、サンプラーを送信する前に変更することができます。
  9. Post Processors :サンプラーの実行後に操作/アクションを実行できるようにします。いくつかの有用な例は、使用して、そのようなセッションIDなどの動的な値を取得しているRegular Expression Extractor 、テキストの任意のタイプのためのポストプロセッサをCSS/JQuery Extractor HTMLのため、 JSON Extractor JSONのため、 XPath Extractor XMLのために。
  10. Assertions :名前が示すように、いくつかのテキスト、レスポンスのサイズ、レスポンスを受け取る時間など、さまざまな方法でサンプラーの応答をアサートできます。たとえば、 Response Assertion を使用してテキストを検索することができます応答で。アサーションに失敗した場合、JMeterは、アサーションが適用されているサンプラを失敗としてマークします。
  11. リスナー:リスナーでは、テスト結果の保存、テスト実行の確認などを行うことができます。たとえば、 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
 

参考文献:

  1. テスト計画とコンポーネント
  2. 実行命令
  3. スコープルール