3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

JMeterの導入方法

Last updated at Posted at 2022-07-05

eyecatch-jmeter-3.png

JMeterとは

・Apache が提供するオープンソースの負荷試験ツールで、javaで書かれています
・HTTPリクエストを⾃動で⼤量に発⽣させることが可能です
・JMeter Proxy を使うと、ブラウザでの操作を記録することが可能です
・JMeterスクリプトを作成し、シナリオ(ユーザ操作の仮説)に基づいた負荷試験を⾏うことができます
・プラグインをインストールすることで、機能拡張が可能です
・結果分析をするためのツール( 統計情報の分析、各種グラフ描画 )が充実しています

今回の項目

  1. 事前準備
  2. JMeterのインストール
  3. JMeterの開き方
  4. JMeterの設定
  5. JMeter Proxyの設定とブラウザ操作の記録
  6. JMeterスクリプトの作成
  7. 結果分析とグラフ描画

事前準備

JMeterを動かすにはJAVA SE(JDK)が必要です
インストールしていない場合は公式サイトから自分の環境にあったファイルをダウンロードしてインスト―ルを行ってください
JAVASEインストール画面.png

JMeterのインストール

・Apache JMeterのダウンロード
  Apache JMeterの公式サイトから最新版のzipファイルをダウンロードします
JMeterインストール画面.png
ダウンロード後、zipファイルを解凍し、解凍したフォルダを自分が分かる適当なフォルダに置いてください

例)Windows で、c:\apache-jmeter-5.3\  など



・JMeterプラグインのインストール
 ・JMeter-Plugins.orgから、jarファイルをダウンロードして下さい
JMeterプラグインインストール画面.png

プラグインダウンロード後、先ほどダウンロードしたJMeterフォルダの \lib\ext\ 以下に保存してください

例) c:\apache-jmeter-5.3\lib\ext\jmeter-plugins-manager-*.jar


JMeterの開き方

JMeterを使用するにはbatファイルを選択することでJMeterを開くことができます
フォルダの拡張子の表示がされていない場合は
 エクスプローラー → 表示 → ファイル名拡張子 にチェックを入れ、拡張子が表示されるようにしましょう

JMeterのbatファイルは以下に格納されています
 apache-jmeter-5.3\bin\jmeter.bat

Jmeterbat場所.png


JMeterの設定

・日本語設定
 JMeterを開いて オプション > 言語の選択 で言語の変更が可能だが、JMeterを閉じるとデフォルトに戻されてしまうので、
 batファイルを編集して常に日本語設定になるように変更する。

jmeter.batを右クリックして編集を選択


以下の個所を探す(LANGUAGEなどで検索をかけると分かりやすい)

    rem Set language
    rem Default to en_EN
       set JMETER_LANGUAGE=-Duser.language="en" -Duser.region="EN"
        )

上記を以下のように編集する

    rem Set language
    rem Default to en_EN
    rem set JMETER_LANGUAGE=-Duser.language="en" -Duser.region="EN"
        set JMETER_LANGUAGE=-Duser.language="ja" -Duser.region="JP"
)

完了したら保存をして、JMeterを起動させて確認を行う

JMeter日本語起動.png

言語の選択項目は英語が選択されているが、日本語で起動するようになる


JMeterProxyの設定とブラウザの操作

今回は紹介しませんが、JMeter Proxyを使わないでBlazeMeterのChrome拡張で操作を記録する方法もあります。

JMeterProxyの設定

・テスト計画を右クリック>追加 > Non-testエレメント > 「HTTPプロキシサーバ」を追加する
・テスト計画を右クリック>追加 > Threads(User) > 「スレッドグループ」を追加する
・「HTTPプロキシサーバ」を選択し、以下を設定する

ポート番号: デフォルトでは8888
対象となるコントローラー: (上記工程で追加したスレッドグループを選択)


・[開始]を押下してすぐに[停止]を押す(JMeterのSSL証明書が生成される)

c:\apache-jmeter-5.3\bin\ApacheJMeterTemporaryRootCA.crt

開始ボタン押下.png

プロキシ設定(Windows上のChromeの場合)

・Windowsの「インターネットオプション」または
Chromeの「設定」で(”プロキシ”で検索をかけて) > 「プロキシ設定を開く」
・プロキシサーバの設定を有効にして、"localhost"、"8888"(上記で設定したポート番号)を入力する

localhost設定.png

注) JMeterProxyを停止した後では、忘れずにプロキシサーバ設定を元に戻しておくこと


SSL証明書の設定

・JMeterが生成した証明書をインストールして、SSL通信の中身を見ることができるようにする

(Chromeの場合)
・設定 > セキュリティ > 「証明書の管理」を起動
・[信頼されたルート証明機関]タブで[インポート]を押下して、JMeterのSSL証明書をインポートする
 インポート先は下記を設定する

c:\apache-jmeter-5.3\bin\ApacheJMeterTemporaryRootCA.crt

・同様に[中間証明機関]タブでも同じSSL証明書をインポートしておく


JMeterProxyによるキャプチャ

・JMeterの「HTTP プロキシサーバ」で、[開始]を押下する。
・ブラウザ操作したときに、JMeterのスレッドグループ以下にHTTPサンプラーが追加されたらOKです


JMeterスクリプトの作成

JMeterProxyの設定とブラウザの操作でProxyにより生成したHTTPサンプラーを使うと簡単です
サンプラー追加後に必要なツールをスレッドグループに配置し、
スレッドグループを実行することで統計を取得することが出来ます
JMeterスクリプトの作成.png

よく使うツール類

・「結果をツリーで表⽰」
  ・個々のHTTPリクエストについて、リクエスト と 応答データを確認できる
   ただし、JMeter側の負荷が⼤きくなるので、本番の負荷試験では使わないことが多い
・「統計レポート」(実⾏結果の統計情報を表⽰する)
・「シンプルデータライタ」(JMeter実⾏結果のログをファイルに保存する)

※「スレッド数」「Rump-Up 期間」「ループ回数」に関する説明︓

・[スレッド数]・・・一回のテストケース実行で生成されるスレッド数の設定、
          スレッド数=ユーザ数と考えればOK

・「Ramp-Up期間」・・・設定したスレッド数を何秒間で生成するかを設定する
             Rump-Up 期間(秒)を設定すると、1秒あたり <スレッド数÷Rump-Up期間> の
             スレッドが増加していくことになる

・[ループ回数]・・・上記テストケースを何回繰り返し行うかを設定します
          「無限ループ」にチェックすると、実施中にスレッドが終了することがなくなる。 


結果分析とグラフ描画

・統計レポート
統計レポート.png

・jp@gc プラグインの機能を使うと便利です

・jp@gc - Active Threads Over Time (アクティブスレッド数の時系列変化)
Active Threads Over Time.png

・jp@gc - Response Times Over Time (応答時間の時系列変化)
Response Times Over Time.png

・jp@gc - Transactions per Second (トランザクション数(スループット)の時系列変化)
Transactions per Second.png


参考
・timeStamp : リクエストの送信を始めた時間(ms)
        並び順は、終了時間の昇順になる(timeStampは時間順には並んでいない)

・Latency : リクエストを送ってからレスポンスが届いた時間

・Elapsed : リクエストを送信し始める直前から、すべてのレスポンスを受信した直後までの時間

・Connect Time(ms) : JMeterがサーバとの接続確⽴にかかった時間


まとめ

今回はJMeterの導入部分の解説をメインにこの記事を作成致しました
実際の実行部分はあくまで一例ですので、色々試してみたい方は
是非参考URLなどから確認してみて下さい

最後まで閲覧頂き有難う御座いました

参考

・JMeter過去バージョンのダウンロード
負荷テスト・パフォーマンス測定ツールのJMeterのインストールと簡単な使い方・・・分かりやすい解説
JMeter | TECHSCORE(テックスコア) ・・・ やや情報が古いが充実している   

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?