投稿日:
【サーバーの耐久度チェック】JMeterでレッツ負荷テスト☆
YouTubeも見てね♪
ねこじゃすり
猫を魅了する魔法の装備品!
Anker PowerCor
旅行には必須の大容量モバイルバッテリー!
[ノースフェイス] THE NORTH FACE メンズ アウター マウンテンライトジャケット
防水暴風で耐久性抜群なので旅行で大活躍です!
モンスターエナジー 355ml×24本 [エナジードリンク]
脳を活性化させるにはこれ!
ドラゴンクエスト メタリックモンスターズギャラリー メタルキング
みんな大好き経験値の塊をデスクに常備しておこう!
MOFT X 【新型 ミニマム版】 iPhone対応 スマホスタンド
Amazon一番人気のスマホスタンド!カード類も収納出来てかさ張らないのでオススメです!
サンディスク microSD 128GB
スマホからSwitchまで使える大容量MicroSDカード!
目次
サーバー負荷テストとは?
基本はリクエスト数でチェック
システムやWebサイトをリリースする際に、サーバーの負荷テストを行う必要があります。
負荷テストとはサーバーに対して特定のリクエストを大量に投げ、サーバーが落ちずにリクエストの処理を捌けるか?という観点で行います。
手動でやるのはアホらしいよね
しかし、このテストの際のリクエスト数の指標は秒間数百〜数千リクエストを投げる必要があり、人力でやるのはとても無理があります。
そんな時に便利なのがJMeterです。
JMeterとは?
JMeterとは、負荷テストやパフォーマンス測定をするためのApache製のオープンソースのJavaアプリケーションです。
Macであれば、Homebrewによってコマンド一つでインストール可能なので、今回はインストールから簡単な使い方について紹介致します。
手順
前提
- Javaインストール済み
- Homebrewインストール済み
- JMeterの言語環境は英語
JMeterのインストール
まずは、HomebrewでJMeterをインストールしましょう。
1 |
brew install jmeter
|
以下のログが出れば、インストール完了です。
1
2
3
4
5
|
brew install jmeter
==> Downloading https://homebrew.bintray.com/bottles/jmeter-4.0.el_capitan.bottle.tar.gz
######################################################################## 100.0%
==> Pouring jmeter-4.0.el_capitan.bottle.tar.gz
🍺 /usr/local/Cellar/jmeter/4.0: 2,339 files, 83.2MB
|
インストールはたったこれだけです。
JMeterの起動
では、実際にJMeterを起動してみましょう。
以下のコマンドを実行してください。
1 |
jmeter |
以下のログが出力された上で、アプリケーションが起動されると思います。
1
2
3
4
5
6
7
8
9
|
jmeter
================================================================================
Don't use GUI mode for load testing !, only for Test creation and Test debugging.
For load testing, use NON GUI Mode:
jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]
& increase Java Heap to meet your test requirements:
Modify current env variable HEAP="-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m" in the jmeter batch file
Check : https://jmeter.apache.org/usermanual/best-practices.html
================================================================================
|
使い方
スレッドグループの作成
JMeterを使ったテスト計画を作成するには、まずスレッドグループと呼ばれるものを作る必要があります。
スレッドグループとは、あるページやURLへのリクエストを投げる、というテストの集合体の事で、負荷テストの実行の1つの単位になります。
左部メニューのTest Planで右クリックをし、Add>Threads(Users)>Thread Groupを選択します。
すると、Test Planの子階層にThread Groupが追加されると思います。
スレッドグループの設定
次に追加したスレッドグループの設定を行いましょう。
左部メニューのThread Groupを選択し、以下の項目を設定いてください。。
Number of Threads(users) |
リクエストを投げる際のスレッド数です。 スレッド数=ユーザー数=リクエスト数と置き換えて考えて良いでしょう。 |
---|---|
Ramp-Up Period(in seconds) | すべてのスレッドを投げ終える時間を指定します。 |
Loop Cound | 上記の設定のテストを何回繰り返すか?という設定になります。 |
今回は試しに、秒間5リクエストを2回行う設定にしてみました。
HTTP Requestの追加
次に実際に投げるリクエストの設定を行いましょう。
Thread Groupで右クリックをして、Add>Sampler>HTTP Requestを選択します。
すると、HTTP Requestの設定を行う画面が表示されるので、サーバー名とリクエストを投げたいPathを入力してください。
スポンサーリンク
336×280
実行
これで負荷テストを行う準備は出来ました。
上部メニューの再生ボタンをクリックします。
すると以下のようなダイアログが出ると思いますが、要はテスト計画を保存してね!という内容なので、Yesボタンをクリックしてください。
保存先とファイル名を入力してSaveボタンをクリックします。
すると、自動でテスト計画が実行されます。
リスナーを追加
しかし、実行結果が表示されるわけでもなく終わってしまいました。
テスト計画の結果を確認するには、リスナーを登録する必要があります。
リスナーとは、テスト計画の実行結果をグラフやツリーなどの様々な形式で表示するためで設定になります。
左部メニューのThread Groupで右クリックをして、Add>Listener>View Result Treeを選択します。
すると、左部メニューにView Result Treeが追加されました。
特に設定は不要なのでもう一度実行してみましょう。
再実行
もう一度実行した上で、先ほど追加したView Result Tree画面を見ていると、実行結果が追加されていると思います。
終わりに
以上のように、Homebrewを使えばインストールはコマンド一発ですし、テスト計画も直感的かつ簡単に設定及び実行をする事が出来ます。
適切なサーバースペックを用意する事が無駄の無い良いWebシステムの構築に繋がるので、必ずJMeterで負荷テストを行うように心がけましょう♪