JMeterのシナリオ作成入門では、負荷テストシナリオの作成方法を紹介していきました。
シナリオが作成出来たので、負荷テストをする場合のJMeterの使い方について解説していこうと思います。
具体的なテスト実行を通じて、対象システムの限界スループットを確認できる程度の技術習得ができるようになります。また、記事に対応した動画も用意しているので、活用してもらえるとより理解が深まりやすくなると思います。
以下の流れで説明していき、具体的な内容については個別の詳細ページにて解説します。
- CentOS環境へのJMeterインストールと実行コマンド
- 基礎データの取得方法
- 基礎テストの実施方法
- 限界スループットの確認方法
- チューニング実施と効果測定
- マスタスレーブ構成を用いた負荷テストの行い方
なお、このシリーズでは、JMeterのシナリオ作成入門で作成したシナリオを使い負荷テストを実施していきます。
CentOS環境へのJMeterインストールと実行コマンド
JMeterによる負荷テストは「GUI」「CUI」どちらでも実施が可能です。しかしながら、負荷テスト実行は「CUI」にて行うことが推奨されています。理由は、負荷をかけていくとJMeter側のスペックがボトルネックとなりやすいためです。
そのため、シナリオ作成は「GUI」、負荷テスト実行は「CUI」と使い分ける必要があります。
「CUI」でテスト実行をするにあたって、メモリ割り当ての設定変更が必要となります。また、主要な実行コマンドのオプションも覚えておきましょう。
参考->第2回:CentOS環境へのJMeterインストールと実行コマンド
基礎データの取得方法
「CUI」による操作方法を覚えたら負荷テストを行っていきます。
まず行うことは、基礎データの取得です。基礎データについての詳細は、基礎データの取得へ記載していますが、負荷テストシナリオに組み込まれているアクセスの、最短平均応答時間になります。
負荷をかけた時に、ここで取得したデータよりも極端に高速、または遅くなっているときは、正常に負荷テストが実施できていない可能性があります。比較する時の基本となるデータになるので、最初に基礎データの取得を行っていきましょう。
参考->第3回:基礎データの取得方法
低負荷テストの実施方法
基礎データの取得ができたら、低負荷テストを行います。詳細は、低負荷テストへ記載していますが、シナリオなどの各種設定が妥当なものになっているかを確認します。
具体的には、低い負荷を段階的にかけていき、結果のスループットがスケールするかを確認していきます。もし、スケールしない場合は、何かしらの問題を抱えているので解消する必要があります。
参考->第4回:低負荷テストの実施方法
限界スループットの確認方法
低負荷テストが正常に完了したら、いよいよ負荷テストを行っていきます。
想定の負荷がある場合は想定の負荷をかけていきましょう。限界スループットの確認をする場合は、スループットが劣化するまで負荷を上げていきます。
限界スループットとなっているボトルネックを探す必要もあるので、JMeterの実行結果だけでなく、システム側のメトリクスやログなども取得しておくことが重要になります。
チューニングと効果測定
限界スループット付近の負荷をかけ、ボトルネックが確認できたらチューニングを行っていきます。チューニング後は効果測定が必要です。チューニング後のシステムに対して、再度限界スループットを確認し、結果を比較することで効果測定を行います。
ボトルネックをチューニングすることで、限界スループットが向上します。ボトルネック以外の部分をチューニングした場合は、限界スループットにほとんど変化はありません。無駄な手間と費用をかけないためにも、ボトルネックを特定し適切なチューニングを実施していきましょう。
マスタスレーブ構成を用いた負荷テストの行い方
大きな負荷をかけていくと、CUIを利用していてもJMeter側がボトルネックになってしまう場合があります。その場合は、JMeterの負荷分散が必要です。
負荷分散の方法は大きく分けて二つあります。
- マスタスレーブ構成
- マルチマスタ構成
マスタスレーブ構成では、マスタから指示を出し、複数台のスレーブが負荷をかけていく構成です。高い負荷をかけるときは最もよく使う構成になります。
マルチマスタ構成は、複数組のJMeterを同時実行させて、最後に結果ファイルを統合する方法です。使うことはあまりないですが、超高負荷な状況を作り出すときに活用できます。
ここでは、マスタスレーブ構成で負荷テストをする方法ついて解説していきます。
参考->第7回:マスタスレーブ構成を用いた負荷テストの行い方
まとめ
この記事では、JMeterを使った負荷テストの実行方法について解説していきました。
このシリーズに記載してあることを習得することで、負荷テストの実施からチューニング後の効果測定を実施するための技術習得が可能です。自社で負荷テストをおこなう場合の参考にしてみてください。
~~~~~~~~~~~~~~~~~~~~~
~ JMeterによる負荷テスト実施入門 ~
~~~~~~~~~~~~~~~~~~~~~
第1回:JMeterによる負荷テスト実施入門
第2回:CentOS環境へのJMeterインストールと実行コマンド ←次の記事
第3回:基礎データの取得方法
第4回:低負荷テストの実施方法
第5回:限界スループットの確認方法
第6回:チューニング実施と効果測定
第7回:マスタスレーブ構成を用いた負荷テストの行い方
参考サービス紹介:JMeterを使った負荷テストツール