Symfoware

Symfowareについての考察blog

JMeter 4.0で画像やjs,cssリソースを含めた負荷テストを実行する

負荷テストといえばApache JMeter
https://jmeter.apache.org/

久しぶりに使用するので、改めて使い方を調べてみます。
以前使用したときのバージョンは2.12ですが、現在は4.0が最新版でした。
Apache JMeter 2.12の簡単な使い方

Ubuntu 18.04で動かしてみます。


jreのインストール



Java製のツールなので、jreをインストールしておきます。


$ sudo apt install openjdk-11-jre





JMeterのダウンロードと実行



以下のURLからJMeterをダウンロードします。
https://jmeter.apache.org/download_jmeter.cgi

907_01.png

「apache-jmeter-4.0.tgz」をダウンロードし、解凍します。
解凍したフォルダのbinに「jmeter.sh」があるので、実行します。


$ cd apache-jmeter-4.0/bin/
$ ./jmeter



しばらく見ないうちに、おしゃれな画面になりましたね。

907_02.png



テストの作成



http://192.168.1.102/index.phpに対して負荷テストを実行してみます。
こんな画像やjs,cssを含むページを作成しました。

・index.php


  1. <html lang="ja">
  2. <head>
  3. <meta charset="UTF-8">
  4. <link rel="stylesheet" type="text/css" href="css/sample.css">
  5. <title>jmeter</title>
  6. </head>
  7. <body>
  8.     <h3><?php echo('hello, JMeter!'); ?>
  9.     <div>
  10.         <img src="img/cc1.jpg">
  11.     </div>
  12.     <div>
  13.         <img src="img/cc2.jpg">
  14.     </div>
  15.     <div>
  16.         <img src="img/cc3.jpg">
  17.     </div>
  18.     <div>
  19.         <img src="img/cc4.jpg">
  20.     </div>
  21.     <script src="js/jquery-3.3.1.min.js"></script>
  22.     
  23. </body>
  24. </html>



907_03.png

※画像はこちらからお借りしました。
https://matome.naver.jp/odai/2135753241807550401

「テスト計画」を右クリックし,「追加」-「Threads(Users)」-「スレッドグループ」を選択。

907_04.png

スレッド数は「50」
Ramp-Up期間(秒)は「10」
ループ回数は「100」にしてみました。

907_05.png

続いて、「スレッドグループ」を右クリックし,「追加」-「サンプラー」-「HTTPリクエスト」を選択。

907_06.png

サーバー名またはIPは「192.168.1.102」
パスは「index.php」と指定します。

907_07.png

「スレッドグループ」を右クリックし,「追加」-「リスナー」-「結果を表で表示」を選択。

907_08.png

ここまで設定できたら、Ctrl + Sで設定を保存しておきます。

907_09.png



テストの実行



ツールバーの「開始」をクリックでテスト実行です。

907_10.png

スレッド数50で100回ループなので、5,000回リクエストが実行されます。

907_11.png



画像やjs,cssも



nginxのログを見てみると、index.phpにしかアクセスがないことがわかります。


$ tail /var/log/nginx/access.log
192.168.1.4 - - [04/Jul/2018:14:17:49 +0000] "GET /index.php HTTP/1.1" 200 465 "-" "Apache-HttpClient/4.5.5 (Java/10.0.1)"
192.168.1.4 - - [04/Jul/2018:14:17:49 +0000] "GET /index.php HTTP/1.1" 200 465 "-" "Apache-HttpClient/4.5.5 (Java/10.0.1)"
192.168.1.4 - - [04/Jul/2018:14:17:49 +0000] "GET /index.php HTTP/1.1" 200 465 "-" "Apache-HttpClient/4.5.5 (Java/10.0.1)"
192.168.1.4 - - [04/Jul/2018:14:17:49 +0000] "GET /index.php HTTP/1.1" 200 465 "-" "Apache-HttpClient/4.5.5 (Java/10.0.1)"
192.168.1.4 - - [04/Jul/2018:14:17:49 +0000] "GET /index.php HTTP/1.1" 200 465 "-" "Apache-HttpClient/4.5.5 (Java/10.0.1)"
192.168.1.4 - - [04/Jul/2018:14:17:49 +0000] "GET /index.php HTTP/1.1" 200 465 "-" "Apache-HttpClient/4.5.5 (Java/10.0.1)"
192.168.1.4 - - [04/Jul/2018:14:17:49 +0000] "GET /index.php HTTP/1.1" 200 465 "-" "Apache-HttpClient/4.5.5 (Java/10.0.1)"
192.168.1.4 - - [04/Jul/2018:14:17:49 +0000] "GET /index.php HTTP/1.1" 200 465 "-" "Apache-HttpClient/4.5.5 (Java/10.0.1)"
192.168.1.4 - - [04/Jul/2018:14:17:49 +0000] "GET /index.php HTTP/1.1" 200 465 "-" "Apache-HttpClient/4.5.5 (Java/10.0.1)"
192.168.1.4 - - [04/Jul/2018:14:17:49 +0000] "GET /index.php HTTP/1.1" 200 465 "-" "Apache-HttpClient/4.5.5 (Java/10.0.1)"



画像やjs,cssのダウンロードも含めた負荷テストがしたい場合、
こちらが参考になりました。
画像やjavascript、cssなどを取得する「Embedded Resources from HTML Files」

「HTTPリクエスト」の「Advanced」タブを表示します。
「全てのイメージとアプレットを繰り返しダウンロードする(HTMLファイルのみ)」にチェックをつけるだけ。

907_12.png

再度テスツを実行してログを確認すると、ちゃんと画像やjs,cssもダウンロードされていました。

907_13.png


$ tail /var/log/nginx/access.log
192.168.1.4 - - [04/Jul/2018:14:23:06 +0000] "GET /img/cc3.jpg HTTP/1.1" 200 951058 "-" "Apache-HttpClient/4.5.5 (Java/10.0.1)"
192.168.1.4 - - [04/Jul/2018:14:23:06 +0000] "GET /img/cc4.jpg HTTP/1.1" 200 221748 "-" "Apache-HttpClient/4.5.5 (Java/10.0.1)"
192.168.1.4 - - [04/Jul/2018:14:23:06 +0000] "GET /js/jquery-3.3.1.min.js HTTP/1.1" 200 86927 "-" "Apache-HttpClient/4.5.5 (Java/10.0.1)"
192.168.1.4 - - [04/Jul/2018:14:23:06 +0000] "GET /index.php HTTP/1.1" 200 465 "-" "Apache-HttpClient/4.5.5 (Java/10.0.1)"
192.168.1.4 - - [04/Jul/2018:14:23:06 +0000] "GET /css/sample.css HTTP/1.1" 200 34 "-" "Apache-HttpClient/4.5.5 (Java/10.0.1)"
192.168.1.4 - - [04/Jul/2018:14:23:06 +0000] "GET /img/cc1.jpg HTTP/1.1" 200 129885 "-" "Apache-HttpClient/4.5.5 (Java/10.0.1)"
192.168.1.4 - - [04/Jul/2018:14:23:06 +0000] "GET /img/cc2.jpg HTTP/1.1" 200 207705 "-" "Apache-HttpClient/4.5.5 (Java/10.0.1)"
192.168.1.4 - - [04/Jul/2018:14:23:06 +0000] "GET /img/cc3.jpg HTTP/1.1" 200 951058 "-" "Apache-HttpClient/4.5.5 (Java/10.0.1)"
192.168.1.4 - - [04/Jul/2018:14:23:06 +0000] "GET /img/cc4.jpg HTTP/1.1" 200 221748 "-" "Apache-HttpClient/4.5.5 (Java/10.0.1)"
192.168.1.4 - - [04/Jul/2018:14:23:06 +0000] "GET /js/jquery-3.3.1.min.js HTTP/1.1" 200 86927 "-" "Apache-HttpClient/4.5.5 (Java/10.0.1)"




【参考URL】
Apache JMeter 2.12の簡単な使い方
画像やjavascript、cssなどを取得する「Embedded Resources from HTML Files」
関連記事

テーマ:プログラミング - ジャンル:コンピュータ

  1. 2018/07/04(水) 23:48:42|
  2. Java
  3. | トラックバック:0
  4. | コメント:0
  5. | 編集
<<JMeter 4.0 GUI非表示でテストを実行する(Don't use GUI mode for load testing !) | ホーム | Amazon FreeRTOS Windows SimulatorをVisual Studio 2017 Communityで動かす>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
https://symfoware.blog.fc2.com/tb.php/2226-0040c8e9
この記事にトラックバックする(FC2ブログユーザー)