JMeterについて調べてみた

性能計測をすることが多くなってきたので、この辺でJMeterを使えるようになっておこうと思う。

概要

用途
ロードテストおよびパフォーマンス計測を行う。当初はWebアプリ用であったが、拡張された結果、「static and dynamic resources (files, Servlets, Perl scripts, Java Objects, Data Bases and Queries, FTP Servers and more)」を扱えるようになった。
開発
Apache Jakarta Project
言語
ピュアJavaによるデスクトップアプリケーション

環境構築

インストール不要。
公式サイトから zip をダウンロードし、 bin フォルダ内の ApacheJMeter.jar を実行すれば起動する。

基本的な使用の流れ

  1. スレッドグループの作成【テスト計画を右クリック→追加>Threads(Users)>スレッドグループ】
    • スレッド数:1つのテストで生成するスレッド数
    • Ramp-Up期間:何秒間の間に上記で設定した数のスレッドを生成するか(※つまり、1秒間に生成されるスレッド数=スレッド数/Ramp-Up期間)
  2. テストの作成【スレッドグループを右クリック→追加>サンプラー>HTTPリクエスト(※所望のテストを選択。複数テスト作成可能)】
  3. リスナーの作成【スレッドグループを右クリック→追加>リスナー>結果を表で表示(※所望の表示方法を選択。複数リスナー作成可能)】
  4. テストの実行【テストグループを選択→メニューの実行>開始(※スレッドグループ内の全てのテストが実行される)】

その他の機能

設定エレメント
認証などが必要な場合に設定する
ロジックコントローラ
複数リクエストからなるテストを作成する
アサーション
レスポンスの正当性検証に用いる
プロキシサーバ
テスト対象となるアクセス先を自動で登録するために、JMeter自身をプロキシサーバにする