トップ 開発環境 JMeter

JMeter―使い方と統計レポートの見方

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

▲記事トップへ

目次

この記事の目次です。

1. JMeterとは
2. JMeterのダウンロードとインストール
3. JMeterの使い方【初心者向け】
4. JMeterの統計レポートの見方

更新履歴

1. JMeterとは

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

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

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

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

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

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

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

JMeterのダウンロード先

たとえば、WindowsでJmeterを使う場合はBinariesのところにあるZIPファイル(例 apache-jmeter-5.4.1.zip)をダウンロードします。

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

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

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

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

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

JMeterを起動するには解凍したフォルダのbinフォルダにあるjmeter.batを実行します。 起動すると以下のようなJMeterの画面が表示されます。

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

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

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

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

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

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

使い方02)実施まで30秒。httpページのサンプリング方法―手順1)スレッドグループ作成

英語版は「TestPlan」>「Add」>「Threads(Users)」>「Thread Group」を選択します。

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

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

使い方02)実施まで30秒。httpページのサンプリング方法―手順2)スレッドグループのサンプラー(HTTPリクエスト)作成

英語版は「Add」>「Sampler」>「HTTP Request」を選択します。

手順3)スレッドグループのリスナー(結果を表で表示)作成

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

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

使い方02)実施まで30秒。httpページのサンプリング方法―手順3)スレッドグループのリスナー(結果を表で表示)作成

英語版は「Add」>「Listener」>「View Results in Table」を選択します。

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

次に設定作業を行っていきます。 まずは、サンプラー(HTTPリクエスト)にリクエスト先のページを設定します。 サンプラー(HTTPリクエスト)を表示して、「IPアドレスもしくはドメイン名」と「パス」を入力すればOKです。 「http://192.168.56.102/」のページの場合、入力は以下になります。パスはルートの場合、未入力でOKです。

使い方02)実施まで30秒。httpページのサンプリング方法―手順4)サンプラー(HTTPリクエスト)にリクエスト先のページを設定する

httpsの場合は、「プロトコル」、英語版は「Protocol」に「https」を設定します。

手順5)保存して実行

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

手順6)実行結果の確認

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

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

使い方02)実施まで30秒。httpページのサンプリング方法―手順6)実行結果の確認

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

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

使い方04)httpsページのサンプリング方法

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

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

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

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

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

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

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

上述では、リスナー(結果を表で表示)でリクエストのデータを表で表示していましたが、今度は統計レポートとしてサマリーを表示してみたいと思います。 操作は、作成したスレッドグループのノード右クリックして、「追加」>「リスナー」>「統計レポート」を選択します。

実行すると「# Samples」「Average」「Median」「90% Line」「95% Line」「99% Line」「Min」「Max」「Error %」「Throughput」「KB/sec」のような情報が表示されます。 JMeterの統計レポートの見方については、「4. JMeterの統計レポートの見方」にまとめています。

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

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

# Samples

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

Average

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

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

Median

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

90% Line

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

95% Line

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

99% Line

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

Min

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

Max

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

Error %

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

Throughput

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

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

KB/sec

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

更新履歴

更新履歴です。

戻る

スポンサーリンク

サイト内のページ

言語
C・C++ /HTML /Java /JavaScript /PHP /シェルスクリプト

開発環境
Ant /Burp /Eclipse /Fiddler /gcc /gdb /Git /g++ /JDK /JMeter /JUnit /Teraterm /ZAP

技術・仕様
Ajax /CORBA /Jakarta EE(旧称J2EE、Java EE) /JNI

ライブラリ/Framework/CMS
bootstrap /jQuery /FuelPHP /Lucene /MyBatis /Seasar2 /Spring /Struts /WordPress

Web API
Google Maps

ITインフラOSとミドルウェア
Linux /Windows /シェル
ActiveMQ /Tomcat /MariaDB /MySQL /Nagios /Redis /Solr

ITインフラサーバー
公開Webサーバー

ITインフラネットワーク
プログラミング /構築

ITインフラセキュリティ
公開サーバーのセキュリティ

PC製品
ZOTAC

SI
ホームページの作り方

その他
IT用語 /ITスキル体系

スポンサーリンク

関連サイト内検索ツール

zealseedsおよび関連サイト内のページが検索できます。

IPアドレス確認ツール

あなたのグローバルIPアドレスは以下です。

18.191.223.123

HTMLの表示色確認ツール

パスワード生成ツール

文字数のプルダウンを選択して、取得ボタンを押すと「a~z、A~Z、0~9」の文字を ランダムに組み合わせた文字列が表示されます。

ここに生成されます。

スポンサーリンク