JMeterAtoZ

負荷テストツールの代表選手、JMeter。シナリオの作り方から実行方法までまとめて解説!

基礎知識

JMeterとは

負荷テストをしたことがある人ならば、「JMeter」という言葉を聞いたことがあるのではないでしょうか?“聞いたことはあるけど詳しくは知らない”というあなたに、JMeterについて簡単に説明していきます。

JMeterはオープンソースの負荷テストツール

JMeterは、正式名称をApache JMeterといいます。名前からわかる通り、Apacheソフトウェア財団によって開発されており、オープンソースの負荷テストツールとして公開されています。主にWEBアプリケーションおよびサーバの性能測定のために利用されています。

言語はjavaとなっており、javaがインストールされている環境で利用することが可能です。

JMeterは、豊富な機能をもっています。たとえば、レスポンスから特定の文字列を抜き出し次のリクエストに受け渡すことや、クッキー情報の持ち回りなどが行えます。そのため、apache bench(通称ab)では実現できなかった、複数リクエストを関連づけたシナリオが必要な、ECサイトの負荷テストなども実行可能になっています。

Windows版とLinux版の違い

JMeterは、Windows版とLinux版の2種類が用意されています。

Windows版はシナリオ作成および簡易テスト用

Windows版の大きな特徴はGUIです。GUIのメリットを活かして、細かい作業が可能です。

負荷テストシナリオの作成はWindows版を利用して行います。プロキシサーバをたてて、実際にブラウザで画面遷移をした内容を記録させることができるので、意外と簡単にシナリオの作成が可能です。

作成したシナリオを利用して、そのまま負荷テストも実行することが可能です。実行結果の確認手段も豊富に用意されているので、シナリオの調整やそれほど大きくない負荷テストであれば十分対応することができます。

大きな負荷のテストを実行しようとすると、スペック不足がボトルネックになります。その場合は、Linux版を利用することになります。

Linux版は大規模テスト用

Linux版で利用するのは、CUIコマンドによる負荷テストの実行になります。Windowsでボトルネックになっていた、スペック不足を補うことが可能です。

1台のサーバのスペックアップをして対処することもできますが、マスタ・スレーブ構成をとることができます。スレーブを増やすことでスペック不足を解消することが可能です。

スレーブを増やすスケールアウトのメリットはスペックの拡張の容易さにあります。スペックを上げる場合は、どうしても物理的な上限が決まってきてしまいます。スケールアウトであれば、適当なスペックのサーバを複数用意することで、大規模なテストを行うことが可能です。

まとめ

JMeterはオープンソースの負荷テストツールです。ECサイトなど高度なシナリオを必要とする負荷テストの実行が可能になります。

またWindows版とLinux版の2種類用意されており、Windows版でシナリオ作成を、Linux版で大規模な負荷テスト実行をすることが可能です。

-基礎知識