LoginSignup
6
2

More than 3 years have passed since last update.

JMeterを使って負荷テストをする方法(最小限)

Last updated at Posted at 2019-12-30

JMeterとは

JMeterとは、パフォーマンス計測用のJavaアプリケーションです。元々はWebアプリケーションのテストのために作成されたもので、さまざまなWebアプリケーションをテストする機能を持っています。現在では、Webアプリケーション以外のさまざまなものに対してもテストできるように拡張されています。
ok.jpg

導入

Apache公式から、Apache JMeter 5.2.1 (Requires Java 8+)のBinariesからapache-jmeter-5.2.1.tgzもしくはapache-jmeter-5.2.1.zipをダウンロードします。(2019/12/31最新)
※Java8が存在する前提で進みます。存在しない場合は、ダウンロードしてからお進みください。

ダウンロードが完了したら、解凍を行い、apache-jmeter-5.2.1フォルダの中のbinフォルダの中のApacheJMeter.jarをダブルクリックして起動します。起動すると以下のような画面が表示されます。

スクリーンショット 2019-12-31 4.20.23.png

使ってみる

スレッドグループの作成

テストを行う上でスレッドグループというものを作成する必要があります。スレッドグループでは、HTTPリクエストをどのように、どれぐらいの量、どれぐらいの期間で送信するかを設定できます。
これらを決定するのが、スレッド数、Ramp-Up期間、ループ回数 です。

以下の画像のようにテスト計画を右クリックし、スレッドグループを追加します。
スクリーンショット 2019-12-31 4.24.48.png

スレッドグループでは大きく分けてスレッド数、Ramp-Up期間(秒)、ループ回数の3つの項目を設定可能です。

例えば、スレッド数100、Ramp-Up期間を100、ループ回数を1とすると、「100のスレッドを100秒かけて処理を行い、スレッド毎に1回だけ実行する」という意味になります。
スレッドを立ち上げる間隔というのは等しく生成されるので、100秒間に1秒に1回のリクエストが投げられるということになります。

スクリーンショット 2019-12-31 5.20.59.png

HTTPリクエストの作成

スレッド内で実行するテストの作成を行います。
以下の画像のように、スレッドグループを右クリックし、HTTPリクエストを追加します。
スクリーンショット 2019-12-31 4.33.38.png

HTTPリクエストでは、負荷テストを行うURLやプロトコル、ポート番号、メソッドなどを任意で選択することができます。
今回は?????????.comにGETリクエストを送信するという内容のものを指定する。(悪意を持って第3者のWEBサーバに負荷をかけることは罪に問われる可能性がある。)

スクリーンショット 2019-12-31 4.42.22.png

リスナーの作成

負荷テストを行なった結果を確認するためにリスナーをスレッドグループに追加します。
以下の画像のように、スレッドグループを右クリックし、結果を表で表示
を追加します。

スクリーンショット 2019-12-31 4.48.31.png

負荷テスト実行

実行ボタンを押します。
結果を表で表示をみると、以下のように実行結果をみることができます。

スクリーンショット 2019-12-31 4.51.19.png

最後に

今回は、とりあえず負荷テストを行うための最小限の機能だけを、JMeterで紹介しました。
JMeterには表以外にも、グラフで負荷を表示させたりといった様々な結果の見方があります。
是非、お試しください。

次回は、AWS EC2やS3にデプロイされているのに対して負荷試験を行なった中で得られた知見などを紹介していきたいと思います。

6
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
2