ねこじゃすり
猫を魅了する魔法の装備品!
Anker PowerCor
旅行には必須の大容量モバイルバッテリー!
【最新機種】GoPro hero11 Black
最新機種でVlogの思い出を撮影しよう!
[ノースフェイス] THE NORTH FACE メンズ アウター マウンテンライトジャケット
防水暴風で耐久性抜群なので旅行で大活躍です!
モンスターエナジー 355ml×24本 [エナジードリンク]
脳を活性化させるにはこれ!
Bauhutte ( バウヒュッテ ) 昇降式 L字デスク ブラック BHD-670H-BK
メインデスクの横に置くのにぴったりなおしゃれな可動式ラック!
サンディスク 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を入力してください。
スポンサーリンク
実行
これで負荷テストを行う準備は出来ました。
上部メニューの再生ボタンをクリックします。
すると以下のようなダイアログが出ると思いますが、要はテスト計画を保存してね!という内容なので、Yesボタンをクリックしてください。
保存先とファイル名を入力してSaveボタンをクリックします。
すると、自動でテスト計画が実行されます。
リスナーを追加
しかし、実行結果が表示されるわけでもなく終わってしまいました。
テスト計画の結果を確認するには、リスナーを登録する必要があります。
リスナーとは、テスト計画の実行結果をグラフやツリーなどの様々な形式で表示するためで設定になります。
左部メニューのThread Groupで右クリックをして、Add>Listener>View Result Treeを選択します。
すると、左部メニューにView Result Treeが追加されました。
特に設定は不要なのでもう一度実行してみましょう。
再実行
もう一度実行した上で、先ほど追加したView Result Tree画面を見ていると、実行結果が追加されていると思います。
終わりに
以上のように、Homebrewを使えばインストールはコマンド一発ですし、テスト計画も直感的かつ簡単に設定及び実行をする事が出来ます。
適切なサーバースペックを用意する事が無駄の無い良いWebシステムの構築に繋がるので、必ずJMeterで負荷テストを行うように心がけましょう♪