JMeterの使い方、統計レポートの見方【初心者向け】

JMeterは、Apacheの負荷テストやパフォーマンス測定などが行えるテストツールです。JMeterの使い方(初心者向け)、JMeterの統計レポートの見方についてまとめています。

1. JMeterとは

2. JMeterのダウンロードとインストール

3. JMeterの使い方【初心者向け】

4. JMeterの統計レポートの見方

更新履歴

1. JMeterとは

JMeterとは、Apacheの負荷テストやパフォーマンス測定などが行えるテストツールです。オープンソースで無料で利用することができます。

2. JMeterのダウンロードとインストール

JMeterは、ダウンロードしてきたアーカイブを解凍するだけで使うことができますが、初心者向けの記事ですので、JMeterの使い方を見ていく前に、JMeterのダウンロード先とインストール方法について見ていきます。

2.0. JMeterを使うにはJavaが必要(JREのインストール)

JMeterはJava言語で作られていますので、Javaの実行環境であるJREがインストールされている必要があります。インストールされていない場合はインストールしてください。JREのダウンロード先は「http://www.java.com/ja/download/」です。

2.1. JMeterのダウンロード先&最新のZIPファイルをダウンロード

JMeterのインストール媒体は「http://jmeter.apache.org/download_jmeter.cgi」からダウンロードできます。

ここでは、Windowsで使っていきますので、2016年9月現在最新のzipファイル「apache-jmeter-3.0.zip」をダウンロードします。

jmeter-download

2.2. JMeterのインストール(ZIPファイルを解凍するだけ)

JMeterのインストールは、ダウンロードしてきたZIPファイルを好きな場所に解凍して配置すればOKです。

3. JMeterの使い方【初心者向け】

では、本題のJMeterの使い方について初心者の方がわかるようにイメージを多く使ってまとめていきます。

3.1. 使い方01)JMeterの起動(binフォルダのjmeter.batを実行)

JMeterを起動するには解凍したフォルダのbinフォルダにあるjmeter.batを実行します。

jmeter-bin-folder

起動すると以下のようなJMeterの画面が表示されます。

jmeter-start-up

3.2. 使い方02)実施まで30秒。httpページのサンプリング方法

使い方のはじめとして、httpページのサンプリング方法についてみていきます。初心者の方でも30秒あれば実施できます。

手順1)スレッドグループ作成

JMeterは、スレッドが1クライアントとしてリクエストを送信し、測定や負荷がけテストを行います。スレッドは複数立ち上げて複数クライアントを想定したテストも行えます。ですので、まずはそのスレッドを取りまとめるスレッドグループを作成します。

スレッドグループを作成するには、左のツリー表示にある「テスト計画」を右クリックして、「追加」>「Threads(Users)」>「スレッドグループ」を選択します。

jmeter-create-thread-group

手順2)スレッドグループのサンプラー(HTTPリクエスト)作成

次にリクエストを送信して、サンプリングを行うサンプラー(HTTPリクエスト)を作成します。

サンプラー(HTTPリクエスト)を作成するには、作成したスレッドグループのノード右クリックして、「追加」>「サンプラー」>「HTTPリクエスト」を選択します。

jmeter-create-thread-group-of-http-request

手順3)スレッドグループのサンプラー(HTTPリクエスト)作成

リクエストを送るだけでは、結果が確認できませんので、次に結果を表示する設定を行います。結果を表示するには、リスナーを使います。ここでは、リスナーのうち、画面に送信したリクエストを表示する「結果を表で表示」を作成すます。

操作は、作成したスレッドグループのノード右クリックして、「追加」>「リスナー」>「結果を表で表示」を選択します。

jmeter-create-thread-group-of-listener

手順4)サンプラー(HTTPリクエスト)にリクエスト先のページを設定する

次に設定作業を行っていきます。まずは、サンプラー(HTTPリクエスト)にリクエスト先のページを設定します。

サンプラー(HTTPリクエスト)を表示して、「サーバ名またはIP」と「パス」を入力すればOKです。「http://e-algorithm.xyz/」のページの場合、入力は以下になります。パスはルートの場合、未入力でOKです。

  • サーバ名またはIP:e-algorithm.xyz
  • パス:未入力

jmeter-setting-http-request

手順5)保存して実行

あとは、保存すれば実行できるようになります。実行は上部の緑色の開始ボタンをクリックするか、上部メニューの「実行」>「開始」の操作で行えます。

手順6)実行結果の確認

実行結果は、作成したリスナー(結果を表で表示)のところで確認できます。

jmeter-http-request-show-result

今回は初期状態の1クライアント想定の1スレッド、1回繰り返しのため、1×1=1リクエストのデータが1行表示されました。あと、SSLを使用したHTTPSページをHTTPでリクエストしたため、状態をあらわす「status」のところに×マークが表示されました。以降で、スレッドはループの回数を増やしたり、HTTPSでリクエストする方法なども見ていきます。

3.3. 使い方03)表示されている実行結果をクリアする方法

リスナー(結果を表で表示)のところに表示された実行結果は、上部のほうきマークの消去ボタンをクリックするか、上部メニューの「実行」>「消去」の操作でクリアできます。

3.4. 使い方04)httpじゃなくてhttpsページのサンプリング方法

httpじゃなくてhttpsページのサンプリング方法についてみていきます。SSLが関わり難しいと思いきや、簡単です。プロトコルを設定するだけです。

サンプラー(HTTPリクエスト)の「プロトコル」のところに「https」と入力すればOKです。設定して実行するとhttpリクエストの送信のところで赤い×マークだったステータスが緑色にかわります。

jmeter-https-request-show-result

3.5. 使い方05)リクエスト回数を変更する(スレッド数とループ回数の変更)

今度は、リクエスト回数を変更してみます。リクエスト回数は、クライアント数を想定したスレッド数とループ回数を変更することで変更できます。スレッド数×ループ回数=リクエスト回数となります。

例として、10クライアント×10回=100リクエストの設定を行ってみます。なお、「Ramp-UP期間(秒)」の項目は開始後何秒後に設定したスレッド数にするかの設定になります。いきなりMaxスレッドになると初期の負荷でテストにならないときなど徐々に不可を上げて準備期間を経てらテストするといったときに使います。

jmeter-https-request-10thread-10loop

実行すると10クライアント×10回=100リクエストの結果がリスナー(結果を表で表示)に表示されます。

jmeter-https-request-10thread-10loop-result

3.6. 使い方06)統計レポートを表示する方法

上述では、リスナー(結果を表で表示)でリクエストのデータを表で表示していましたが、今度は統計レポートとしてサマリーを表示してみたいと思います。

操作は、作成したスレッドグループのノード右クリックして、「追加」>「リスナー」>「統計レポート」を選択します。

jmeter-set-stat-report

実行すると「# Samples」「Average」「Median」「90% Line」「95% Line」「99% Line」「Min」「Max」「Error %」「Throughput」「KB/sec」のような情報が表示されます。

jmeter-set-stat-report-result

なお、JMeterの統計レポートの見方については、「4. JMeterの統計レポートの見方」にまとめています。

4. JMeterの統計レポートの見方

JMeterの統計レポートには「# Samples」「Average」「Median」「90% Line」「95% Line」「99% Line」「Min」「Max」「Error %」「Throughput」「KB/sec」のような情報が表示されます。ここでは、これらのJMeterの統計レポートの見方についてみていきます。

4.1. 統計レポートの見方(# Samples)

統計レポートの「# Samples」の見方ですが、この値は、サンプル数、つまり何回リクエストが送信されたかを表す数字です。リクエスト数は、スレッドグループのところで設定したクライアント数を想定した「スレッド数」×「ループ回数」の値になります。

4.2. 統計レポートの見方(Average)

統計レポートの「Average」の見方ですが、この値は、各リクエストの応答までの時間の平均になります。平均はサンプル数が少なく、極端に長い時間があると、参考にならない数字になります。つまり外れ値を考慮して平均値を見る必要があります。

なお、外れ値は、平均値(Average)、中央値(Median)、最小値(Min)、最大値(Max)を比較して、おかしい値を外れ値と判断するといいと思います。

4.3. 統計レポートの見方(Median)

統計レポートの「Median」の見方ですが、この値は、中央値です。つまり、データを小さい方から大きい方まで並べた中のちょうど真ん中に位置するデータの値です。外れ値が含まれた平均値を求めていないかなどを見極める際の参考になります。

4.4. 統計レポートの見方(90% Line)

統計レポートの「90% Line」の見方ですが、この値は、90パーセントタイルといわれる数字です。データを小さい方から大きい方まで並べた中の90%がこれ以下の値になる境界の値です。外れ値を手っ取り早く除外する場合に使える境界値になります。

4.5. 統計レポートの見方(95% Line)

統計レポートの「95% Line」の見方ですが、この値は、95パーセントタイルといわれる数字です。データを小さい方から大きい方まで並べた中の95%がこれ以下の値になる境界の値です。

4.6. 統計レポートの見方(99% Line)

統計レポートの「99% Line」の見方ですが、この値は、99パーセントタイルといわれる数字です。データを小さい方から大きい方まで並べた中の99%がこれ以下の値になる境界の値です。

4.7. 統計レポートの見方(Min)

統計レポートの「Min」の見方ですが、この値は、最小値です。一番短かったリクエストの時間になります。

4.8. 統計レポートの見方(Max)

統計レポートの「Max」の見方ですが、この値は、最大値です。一番長かったリクエストの時間になります。

4.9. 統計レポートの見方(Error %)

統計レポートの「Error %」の見方ですが、この値は、エラー率です。エラーになったリクエストの割合になります。

4.10. 統計レポートの見方(Throughput)

統計レポートの「Throughput」の見方ですが、この値は、スループットになります。秒間何件のリクエストが処理できたかを表す値になります。

注意点としては、1端末のPCだけで実施した場合、回線がボトルネックになってサーバの正確なスループットは取れない場合があるという点です。正確に測定したい場合は、サーバのCPU使用率が100%近くになっているなど確認しながら実施する必要があります。CPU使用率に空きがある場合は、原因を調べ、もし回線が原因とみられる場合は、同じLAN内に複数端末置くなどして負荷をかけて、リクエストの結果をマージしてサマリーを出す、あるいはサーバのアクセスログを集計する必要があります。

4.11. 統計レポートの見方(KB/sec)

統計レポートの「KB/sec」の見方ですが、この値は、平均転送量になります。秒間どれくらいのデータが転送できたかを表す数字になります。回線がボトルネックになって、負荷がけできていないなど回線の転送制限の把握などに役立つ数字になります。

更新履歴

更新履歴です。

  • 2016年09月28日 記事をUPしました。

SNSでもご購読できます。