とりあえずJMeterを触ってみたい人向けの記事
■はじめに
夏バテ気味でけだるさなのなか働いているひよです。久々の投稿はJMeterにかかわるものとなります。
これからJMeterを使ってみたいという方向けに、JMeterのインストール、テスト環境の構築、そしてJMeterの実行まで簡単に記載します。勉強の手助けになれば幸いです。
■実行環境
1. JMeterのインストール
JMeterのインストールはいろいろな方が用意してくださっているので簡略化します。
まず、Apache JMeter - Download Apache JMeterから対象のプログラムをダウンロードします。
私は「apache-jmeter-5.1.1.zip」をダウンロードしました。
今回ダウンロードしたapache-jmeter-5.1.1はページに記載されている通りJava 8+が必要になるので、Javaをインストールしていない環境ではJavaをインストールしないと動かないので注意が必要です。
ダウンロードしたフォルダ内の、「\bin\ApacheJMeter.jar」をダブルクリックで起動して画面が起動できたらインストールは完了です。
2. テスト環境の準備
JMeterの使い方の試験のため公開されているURLへアクセスを試みるのは迷惑行為なので、ローカル環境にテスト環境を構築します。
以前作成した下記記事にもとづいて、nodeでwebサーバを用意します。nodeの環境は上述の実行環境のもので実施しています。
今回はテスト用に、GETを受け付けられるように準備します。 デフォルトのindex.jsを下記の通り変更します。
var express = require('express'); var router = express.Router(); /* GET REQUEST. */ router.get('/', function(req, res, next) { res.send('GET request'); }); module.exports = router;
3. JMeterの設定と実行
最後にJMeterの設定と実行をしてみます。
下記図のようにJMeter左側のウィンドウにある「テスト計画」を右クリックし、 「追加」>「Threads(Users)」>「スレッドグループ」を選択します。
次にリクエストを行うHTTPリクエストの設定をしていきます。
作成したスレッドグループの名前を右クリックし、「追加」>「サンプラー」>「HTTP リクエスト」を選択します。そうするとスレッドグループの下に「HTTPリクエスト」という設定が追加されます。
HTTPリクエストを選択し、下記図の赤枠の項目をそれぞれ設定します。
ここで作成したHTTPリクエストをどの程度実行するかを設定します。
左側メニューのスレッドグループを選択し、スレッドプロパティを設定します。
各設定した内容で総テスト回数や1秒当たりのリクエスト数が決まります。
項目 | 計算式 |
---|---|
総テスト回数 | スレッド数xループ回数 |
1秒あたりのリクエスト数 | 総テスト回数 / Ramp-UP期間(秒) |
※引用元はこちら
負荷ツールのスレッド数・Ramp-Up期間・ループ回数の関係 - Carpe Diem
今回は、スレッド数を10、Ramp-Up期間(秒)を10、ループ回数を10と試しに設定してみました。 この設定では、総テスト数が100回、1秒当たりのリクエスト数が10回となります。 ※今回は小さな値に設定していますが、大きな値にした場合、クライアントマシンの性能等により予定通り実行できないことがあるため注意が必要です。
ここまで設定できたら画面上部の開始ボタン(緑の三角)を押下し実行します。 実行するとWebサーバ側を見ていると次々に来ていることがわかります。
4. 実行結果をわかりやすく表示するために
3まででJMeterからWebサーバに対しアクセスを実行できたことは確認できました。 ただ、実行結果の解析がしづらいので、JMeterに実行した統計などの情報を記録する設定を行います。
画面左側のスレッドグループを右クリックし、「追加」>「リスナー」>「統計レポート」を選択します。この設定だけで実行した統計が見れるようになります。そのほかにも「結果を表で表示」などを設定するとわかりやすくなります。
統計レポートの設定が終わったので、再度開始ボタンを押下しJMeterからリクエストを出してみます。 すると、下記図のように結果がわかりやすく表示されました。
■おわりに
よく負荷試験を行ったりするときに登場するのがJMeterです。世間一般に浸透しているツールであるために、少しITかじっている人からは、簡単にできるでしょというイメージを持たれがちです。しっかり使い方を勉強し、どや顔してやりましょう。