BBH
-Biz Branding Hub-
投稿日 : 
2020/04/09
更新日 : 
2020/04/09

【JMeterチュートリアル】とりあえず1リクエストを投げてみる

負荷試験でよく使われるjmeterについて、簡単なチュートリアルを記載します。
JMeterをインストールして、とりあえず1リクエストを投げみるところまでやってみます。

JMeterのインストール~起動

JMeterは以下のサイトから入手できます。
Apache JMeter-Apache JMeter

JMeter

ダウンロードしたzipを適当なフォルダに展開します。
展開したフォルダに「bin > ApacheJMeter.jar」がいるので、それを起動します。

JMeter

以下のようなアプリケーションが起動します。

JMeter

1リクエストを行うテストケースを作成する

次に、簡単なテストケースを作成してみます。
ここでは、適当なサイトに1リクエストだけ投げるケースを作成してみます。

スレッドグループの追加

まず、「スレッドグループ」を追加します。
テスト計画を右クリックし、「追加 > Threads(Users) > スレッドグループ」の順に選択していきます。
JMeter

すると、以下のようにテスト計画の下にスレッドグループが追加されます。
JMeter

これが1ユーザー(1セッション)に該当します。

HTTPリクエストの設定

次に、ユーザーの具体的なリクエスト内容を設定していきます。
スレッドグループを右クリックし、「追加 > サンプラー > HTTPリクエスト」の順に選択していきます。
JMeter

HTTPリクエストが追加されたら、詳細内容を設定していきます。
以下の項目を設定していきましょう。
・プロトコル…リクエストのプロトコルを設定します。
・サーバ名またはIP…リクエストを投げたいサイトなどのURLを設定します。
・メソッド…HTTPメソッドを設定します。
・パス…サイトルート以下のページを設定します。(/page1とすれば、sample.com/page1にリクエストを投げます)

JMeter

スレッド数を設定する

最後に、HTTPリクエストをどれくらい投げるかを設定していきます。
先ほど追加したスレッドグループに戻ります。

スレッドグループに、
・スレッド数
・Ramp-Up期間(秒)
・ループ回数
という項目があります。
これらの項目で、リクエストの回数を設定することができます。

JMeter

「スレッド数」は、その名の通り、スレッドの数を指定します。
ユーザー数(セッション数)ととらえておけばいいでしょう。

「Ramp-Up期間(秒)」は、スレッド数で設定したスレッドを何秒間かけて生成するかを設定します。
例えば、スレッド数=10、Ramp-Up期間=1 だと、1秒間に10スレッド生成します。
つまり、1秒間に10ユーザー(10セッション)が訪問するのと同等の負荷をかけることができます。

「ループ回数」は、上記で設定した条件を何回繰り返すかを設定します。

今回はテストなので、すべて1に設定しておきます。
そうすることで、「1秒間に1ユーザーの来訪を1回繰り返す」という設定になります。
つまり、1リクエストだけ投げるという設定になります。

リスナーの設定

最後にテストを実施した際の結果を受け取るためのリスナーを設定していきます。
これを設定しないと、テストを実施することができません。

「スレッドグループ」を右クリックし、「追加 > リスナー > 結果を表で表示」を選択します。
JMeter

これでリスナーの設定は完了です。

テストの実行

テストケースが完成しましたので、実際にテストを実行してみます。
画面上の緑の再生ボタンを押すとテストが実施されます。
JMeter

テストが完了したら、リスナーを選択して結果を見てみます。
画像では、HTTPステータスが200で完了しています。
正常にリクエストが通って、レスポンスが返ってきたということになります。
JMeter

また、結果はファイル出力することもできます。
「すべてのデータをファイルに出力 > ファイル名」に出力先ファイルを指定します。
JMeter

以上でJMeterのチュートリアルは完了です。
意外と設定項目が多いので大変ですが、1回やれば大体わかるかと思います。
後は、実現したいテストケースに応じて設定を変更していけばOKです。

Profile

管理人プロフィール

都内でITエンジニアをやってます。
変遷:中規模SES→独立系SIer→Webサービス内製開発
使用技術はその時々でバラバラですが、C#、AWSが長いです。
どちらかと言うとバックエンドより開発が多かったです。
顧客との折衝や要件定義、マネジメント(10名弱程度)の経験あり。
最近はJava+SpringBootがメイン。

Recommend