JMeter を用いてWebサイトの負荷測定を実施した際に、JMeterの測定結果ついて気になる点がありましたので、自分の整理用に軽くまとめてみました。
気になっていた事
気になっていた点は以下になります。
- リスナー「結果を表で表示」で表示される値の相関関係
- 「結果を表で表示」では、Start Time や Thread Name が 順番良く並んでいない事が気になる。
- スレッドの生成時間と検査対象Webサイトからの応答受信時間の関係
- スレッドの生成時間(Ramp-Upで指定する時間)と、実際に検査対象Webサイトからの応答時間は、全く別物である事をデータでも見てみたい。
この2点について調べてみましたので、測定したデータを記録しておきます。
利用環境
確認したJMeterのバージョンは「2.9」です。測定で利用したWebサイトは、私が所有するサーバ上で起動しているテスト用Webサイトです。
JMeterの設定内容
今回の試験では、シンプルな条件が好ましかったので、以下のスレッドグループ設定値で試験を行いました。
- スレッド数:10
- Ramp-Up期間(秒):10
- ループ回数:1
また、リスナーとして「結果を表で表示」を追加し、そのデータを元に確認を行いました。
実行結果
試験を実行し、「結果を表で表示」リスナーでのデータは以下でした。
この表における各列の意味は以下になるようです。
- Sample #
- 実行された順番
- Start Time
- テストを実行開始した時間
- Sample Time(ms)
- テストを実行した結果として、Webサーバから受信するまでの応答時間
1.リスナー「結果を表で表示」で表示される値の相関関係
No(Sample #)と、テストを実行開始した時間(Start Time)が、時系列になっていないので(Thread Name も同様)、Start Time で並べ替えてみました。
【Excel表①】
上記載のStart Time 列で並べ替えたデータを見てみると、約1秒毎になっており、Thread Name も順番良く並びました。
次に、リスナー「結果を表で表示」では、表として見えている列のデータは時系列になっていないので、Start Time と Sample Time(ms) から、HTTPリクエストを受信した時間(完了時間)をExcel計算してみました。
【Excel表②】
上の表における一番右の列「完了時間」は、Start Time に Sample Time(ms)を足した値になります。順番は時系列になっており、Sample # の順番に合致しています。結果から判断すると、Sample # の順番や、Thread Name の順番は、リクエスト結果を受信した順番みたいです。
2.スレッドの生成時間と検査対象Webサイトからの応答受信時間の関係
先に示したExcel計算結果を見ると、以下が分かります。
- Excel表①の「Start Time」列を見ると、13:12:07.231 ~ 13:12:16.254 の間でスレッドが生成されており、約9秒チョイになっています。
- Excel表①の最初の「Start Time」が 13:12:07.231、Excel表②の最後の「完了時間」が 13:12:19.143 であり、最初のスレッド生成から 最後の応答受信までの間は、約12秒になります。
スレッドの生成時間(Ramp-Upで指定する時間)と、実際に検査対象Webサイトからの応答時間は全く別物である事が、実行データからも分かりました。(わざわざ計測する事ではないかもしれませんが・・・。)
気になっていた点は片付いた感があるので、以上となります。