トップ 開発環境 JMeter
JMeterは、Apacheの負荷テストやパフォーマンス測定などが行えるテストツールです。JMeterの使い方(初心者向け)、JMeterの統計レポートの見方についてまとめています。
この記事の目次です。
1. JMeterとは
2. JMeterのダウンロードとインストール
3. JMeterの使い方【初心者向け】
4. JMeterの統計レポートの見方
JMeterとは、Apacheの負荷テストやパフォーマンス測定などが行えるテストツールです。 オープンソースで無料で利用することができます。
JMeterは、ダウンロードしてきたアーカイブを解凍するだけで使うことができますが、JMeterの使い方を見ていく前に、JMeterのダウンロード先とインストール方法について見ていきます。
JMeterはJava言語で作られていますので、Javaの実行環境であるJREがインストールされている必要があります。 インストールされていない場合はインストールしてください。 JREのダウンロード先は「http://www.java.com/ja/download/」です。
JMeterのインストール媒体は「http://jmeter.apache.org/download_jmeter.cgi」からダウンロードできます。
たとえば、WindowsでJmeterを使う場合はBinariesのところにあるZIPファイル(例 apache-jmeter-5.4.1.zip)をダウンロードします。
JMeterのインストールは、ダウンロードしてきたZIPファイルを好きな場所に解凍して配置すればOKです。
では、本題のJMeterの使い方について初心者の方がわかるようにイメージを多く使ってまとめていきます。
JMeterを起動するには解凍したフォルダのbinフォルダにあるjmeter.batを実行します。 起動すると以下のようなJMeterの画面が表示されます。
使い方のはじめとして、httpページのサンプリング方法についてみていきます。初心者の方でも30秒あれば実施できます。
JMeterは、スレッドが1クライアントとしてリクエストを送信し、測定や負荷がけテストを行います。スレッドは複数立ち上げて複数クライアントを想定したテストも行えます。 ですので、まずはそのスレッドを取りまとめるスレッドグループを作成します。
スレッドグループを作成するには、左のツリー表示にある「テスト計画」を右クリックして、「追加」>「Threads(Users)」>「スレッドグループ」を選択します。
英語版は「TestPlan」>「Add」>「Threads(Users)」>「Thread Group」を選択します。
次にリクエストを送信して、サンプリングを行うサンプラー(HTTPリクエスト)を作成します。 サンプラー(HTTPリクエスト)を作成するには、作成したスレッドグループのノード右クリックして、「追加」>「サンプラー」>「HTTPリクエスト」を選択します。
英語版は「Add」>「Sampler」>「HTTP Request」を選択します。
リクエストを送るだけでは、結果が確認できませんので、次に結果を表示する設定を行います。 結果を表示するには、リスナーを使います。 ここでは、リスナーのうち、画面に送信したリクエストを表示する「結果を表で表示」を作成します。
操作は、作成したスレッドグループのノード右クリックして、「追加」>「リスナー」>「結果を表で表示」を選択します。
英語版は「Add」>「Listener」>「View Results in Table」を選択します。
次に設定作業を行っていきます。 まずは、サンプラー(HTTPリクエスト)にリクエスト先のページを設定します。 サンプラー(HTTPリクエスト)を表示して、「IPアドレスもしくはドメイン名」と「パス」を入力すればOKです。 「http://192.168.56.102/」のページの場合、入力は以下になります。パスはルートの場合、未入力でOKです。
httpsの場合は、「プロトコル」、英語版は「Protocol」に「https」を設定します。
あとは、保存すれば実行できるようになります。 実行は上部の緑色の開始ボタンをクリックするか、上部メニューの「実行」>「開始」の操作で行えます。
実行結果は、作成したリスナー(結果を表で表示)のところで確認できます。
今回は初期状態の1クライアント想定の1スレッド、1回繰り返しのため、1×1=1リクエストのデータが1行表示されました。 あと、SSLを使用したHTTPSページをHTTPでリクエストしたため、状態をあらわす「status」のところに×マークが表示されました。 以降で、スレッドはループの回数を増やしたり、HTTPSでリクエストする方法なども見ていきます。
リスナー(結果を表で表示)のところに表示された実行結果は、上部のほうきマークの消去ボタンをクリックするか、上部メニューの「実行」>「消去」の操作でクリアできます。
httpsページのサンプリング方法についてみていきます。 SSLが関わり難しいと思いきや、簡単です。 プロトコルを設定するだけです。
サンプラー(HTTPリクエスト)の「プロトコル」のところに「https」と入力すればOKです。 設定して実行するとhttpリクエストの送信のところで赤い×マークだったステータスが緑色にかわります。
今度は、リクエスト回数を変更してみます。 リクエスト回数は、クライアント数を想定したスレッド数とループ回数を変更することで変更できます。 スレッド数×ループ回数=リクエスト回数となります。
例として、10クライアント×10回=100リクエストの設定を行ってみます。 「Ramp-UP期間(秒)」の項目は開始後何秒後に設定したスレッド数にするかの設定になります。 いきなりMaxスレッドになると初期の負荷でテストにならないときなど徐々に不可を上げて準備期間を経てらテストするといったときに使います。
実行すると10クライアント×10回=100リクエストの結果がリスナー(結果を表で表示)に表示されます。
上述では、リスナー(結果を表で表示)でリクエストのデータを表で表示していましたが、今度は統計レポートとしてサマリーを表示してみたいと思います。 操作は、作成したスレッドグループのノード右クリックして、「追加」>「リスナー」>「統計レポート」を選択します。
実行すると「# Samples」「Average」「Median」「90% Line」「95% Line」「99% Line」「Min」「Max」「Error %」「Throughput」「KB/sec」のような情報が表示されます。 JMeterの統計レポートの見方については、「4. JMeterの統計レポートの見方」にまとめています。
JMeterの統計レポートには「# Samples」「Average」「Median」「90% Line」「95% Line」「99% Line」「Min」「Max」「Error %」「Throughput」「KB/sec」のような情報が表示されます。 ここでは、これらのJMeterの統計レポートの見方についてみていきます。
統計レポートの「# Samples」の見方ですが、この値は、サンプル数、つまり何回リクエストが送信されたかを表す数字です。 リクエスト数は、スレッドグループのところで設定したクライアント数を想定した「スレッド数」×「ループ回数」の値になります。
統計レポートの「Average」の見方ですが、この値は、各リクエストの応答までの時間の平均になります。 平均はサンプル数が少なく、極端に長い時間があると、参考にならない数字になります。 つまり外れ値を考慮して平均値を見る必要があります。
なお、外れ値は、平均値(Average)、中央値(Median)、最小値(Min)、最大値(Max)を比較して、おかしい値を外れ値と判断するといいと思います。
統計レポートの「Median」の見方ですが、この値は、中央値です。 つまり、データを小さい方から大きい方まで並べた中のちょうど真ん中に位置するデータの値です。 外れ値が含まれた平均値を求めていないかなどを見極める際の参考になります。
統計レポートの「90% Line」の見方ですが、この値は、90パーセントタイルといわれる数字です。 データを小さい方から大きい方まで並べた中の90%がこれ以下の値になる境界の値です。 外れ値を手っ取り早く除外する場合に使える境界値になります。
統計レポートの「95% Line」の見方ですが、この値は、95パーセントタイルといわれる数字です。 データを小さい方から大きい方まで並べた中の95%がこれ以下の値になる境界の値です。
統計レポートの「99% Line」の見方ですが、この値は、99パーセントタイルといわれる数字です。 データを小さい方から大きい方まで並べた中の99%がこれ以下の値になる境界の値です。
統計レポートの「Min」の見方ですが、この値は、最小値です。 一番短かったリクエストの時間になります。
統計レポートの「Max」の見方ですが、この値は、最大値です。 一番長かったリクエストの時間になります。
統計レポートの「Error %」の見方ですが、この値は、エラー率です。 エラーになったリクエストの割合になります。
統計レポートの「Throughput」の見方ですが、この値は、スループットになります。 秒間何件のリクエストが処理できたかを表す値になります。
注意点としては、1端末のPCだけで実施した場合、回線がボトルネックになってサーバの正確なスループットは取れない場合があるという点です。 正確に測定したい場合は、サーバのCPU使用率が100%近くになっているなど確認しながら実施する必要があります。 CPU使用率に空きがある場合は、原因を調べ、もし回線が原因とみられる場合は、同じLAN内に複数端末置くなどして負荷をかけて、 リクエストの結果をマージしてサマリーを出す、あるいはサーバのアクセスログを集計する必要があります。
統計レポートの「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インフラセキュリティ
公開サーバーのセキュリティ
SI
ホームページの作り方
スポンサーリンク
関連サイト内検索ツール
zealseedsおよび関連サイト内のページが検索できます。
IPアドレス確認ツール
あなたのグローバルIPアドレスは以下です。
3.238.227.73
HTMLの表示色確認ツール
パスワード生成ツール
文字数のプルダウンを選択して、取得ボタンを押すと「a~z、A~Z、0~9」の文字を ランダムに組み合わせた文字列が表示されます。
ここに生成されます。
スポンサーリンク
Copyright (C) 2007-2024 zealseeds. All Rights Reserved. Loarding…