[Java] JMeterを使ってみる | Archive Redo Blog

Archive Redo Blog

DBエンジニアのあれこれ備忘録

先日、開発したWebアプリケーションの負荷テストを行うため、JMeter というツールを使ってみました。

JMeterはJakartaプロジェクト で開発しているWebアプリケーション等を対象とした負荷テストツールです。

JMeterの特徴は
  • インストールが簡単
  • Javaでできているため実行環境を選ばない
  • テスト計画がGUIで簡単に作成できる
  • Servlet、JSP、ファイル、CGI、データベース、FTPなど様々な対象をテストできる
  • 複数のスレッドを立ち上げることにより、複数ユーザーによる同時実行をテストできる
  • リスナーを利用して表、グラフなど様々な形式で結果を確認することができる
  • アサーションを利用してテスト結果を評価・検証することができる
  • 必要な情報を次のリクエストへと引き継ぐことにより画面遷移をテストできる
  • コントローラを利用してテストの実行順序や実行回数を制御できる
  • タイマを利用して実行間隔を制御できる
  • ユーザー定義変数の設定・参照を行える
  • リモートクライアントを利用して大規模なテストをマシンを分散して行うことができる
  • HTTPプロキシサーバ機能を利用してテスト計画を自動生成できる
などなど、結構多才。

詳細までは触れませんが、JMeterの多彩な機能を利用すれば、比較的簡単に実際の使用状況に近い状態をシミュレートし、Webアプリケーションのパフォーマンスを評価することが可能になるというわけです。


私がテストしたのはServletベースのWebアプリケーションで、

ログインし、
初期処理をいくつか行い、
データの検索・表示を何度か繰り返し、
ログアウトする。

といった操作をスレッド数を変えながら実行してそのパフォーマンスを測定したのですが、スタックアスタリスク の「【連載 】JMeter(高機能/フリーなテストツール) 」や「JMeter日本語ユーザーマニュアル 」を見ながら、それほど苦もなくテスト計画を作成し、テストを実行することができました。


ちょっと手の込んだことをやろうとすると、これらのドキュメントでは不十分で...というかそれ以前に機能の限界にぶち当たることもしばしばで、なかなか思うようなテスト計画を作れないという面もありましたが、タダでこれだけ使いやすく高機能なのだから利用価値は十分あると思います。

これからもちょくちょくお世話になることでしょう。