素敵なサムシングを独断と偏見で一方的に紹介するブログ(´・ω・`)

IT

【サーバーの耐久度チェック】JMeterでレッツ負荷テスト☆

投稿日:

スポンサーリンク

336×280




サーバー負荷テストとは?

基本はリクエスト数でチェック

システムWebサイトをリリースする際に、サーバーの負荷テストを行う必要があります。

負荷テストとはサーバーに対して特定のリクエストを大量に投げ、サーバーが落ちずにリクエストの処理を捌けるか?という観点で行います。

手動でやるのはアホらしいよね

しかし、このテストの際のリクエスト数の指標秒間数百〜数千リクエストを投げる必要があり、人力でやるのはとても無理があります。

そんな時に便利なのがJMeterです。

JMeterとは?

JMeterとは、負荷テストパフォーマンス測定をするためのApache製のオープンソースのJavaアプリケーションです。

Macであれば、Homebrewによってコマンド一つでインストール可能なので、今回はインストールから簡単な使い方について紹介致します。

手順

前提

  • Javaインストール済み
  • Homebrewインストール済み
  • JMeterの言語環境は英語

JMeterのインストール

まずは、HomebrewでJMeterをインストールしましょう。

以下のログが出れば、インストール完了です。

インストールはたったこれだけです。

JMeterの起動

では、実際にJMeterを起動してみましょう。
以下のコマンドを実行してください。

以下のログが出力された上で、アプリケーションが起動されると思います。

使い方

スレッドグループの作成

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で負荷テストを行うように心がけましょう♪

336×280




336×280




CATEGORIES & TAGS

IT, , , , , ,

blogenist

Author: blogenist