こんにちは。 キャスレーコンサルティング・TS(テクニカルサービス)部の木吉です。
1.はじめに
Webアプリケーションを作成した際に、「簡単な性能を知りたい」という場合があると思います。
そんなときに役に立つツールとして、JMeterを紹介します。
JMeterは、Apache財団によって開発されている、
オープンソースソフトウェアの負荷生成ツールで、 クライアントにJava実行環境さえあれば、導入できます。
2.環境構築
Java実行環境のインストールについては、割愛しますが、
JMeterのバージョンによっては、古いバージョンのJDKの場合、実行できないこともあります。
特に問題がなければ、JDK・JMeterともに最新のものを利用することを、おすすめします。
JMeterは、モジュールをApacheのサイトよりダウンロードして、解凍します。
https://jmeter.apache.org/download_jmeter.cgi
「Binaries」から、ダウンロードできます。
◯使用環境
– OS : Mac High Sierra
– Java : 1.8.0_60
– JMeter : apache-jmeter-4.0
3.シナリオ作成
まずは、JMeterのGUI画面を起動します。 起動するには、
解凍したモジュールのbinフォルダ内にある、起動スクリプトを実行します。
(Windowsの場合: jmeter.bat, Macの場合: jmeter.sh)
JMeterでは、負荷生成のためにシナリオを作成して、実行します。
地道に一つずつ、リクエストを作成していく方法もありますが、
JMeterには画面操作によって、シナリオを自動生成してくれる機能がありますので、今回はこちらを利用します。
以下の手順で、シナリオの作成を行います。
1. スレッドグループ作成
2. プロキシサーバ、記録コントローラ追加
3. リスナーの追加
4. プロキシ設定
5. 画面操作
手順3.の「リスナーの追加」で、集計結果を見ることができます。
手順5.終了後に、自動的にシナリオが作成されています。
以下のように、画面操作していきます。
– 「テスト計画」右クリック→「追加」→「Threads(Users)」→「スレッドグループ」
– 「スレッドグループ」右クリック→「追加」→「ロジックコントローラ」→「記憶コントローラ」
– 「テスト計画」右クリック→「追加」→「リスナー」→「統計レポート」
– 「テスト計画」右クリック→「追加」→「Non-Test エレメント」→「Httpプロキシサーバ 」
上記を実行すると、以下のようになっています。
次に、プロキシサーバの設定をします。 メニューから「HTTPプロキシサーバ」を選び、以下のように設定します。
– 対象となるコントローラ:「記録コントローラ」
ブラウザから、ネットワーク設定を変更します。
プロキシとして、さきほど作成したHTTPプロキシサーバを、使うことにします。
ここでは、localhost:8888を設定します。
Macでは、以下のように設定しました。
これで、シナリオ作成の準備は完了です。
メニューから、HTTPプロキシサーバを選択し、開始ボタンをクリックします。
警告が表示されますが、ここではOKを選びます。
ブラウザを開いて対象画面操作を行い、その後HTTPプロキシサーバを停止します。
JMeterのGUI画面を確認すると、以下のように操作ブラウザ操作が記録されています。
今回は、サンプルのため1画面1リクエストのみですが、画面遷移の結果を記録することも可能です。
4.実行・結果集計
最後に、シナリオを実行し、結果を見ていきます。
ここでは、簡単に統計レポートの見方も、紹介します。
シナリオを実行するには、画面上部の開始ボタンを、クリックします。
今回は、初期設定から変更していないので、1スレッド1ループ実行された後、終了します。
では、結果を見るために、統計レポートを開きましょう。
ここで注目するのは、「Average」「Throughput」です。
「Average」は、平均どれくらいの時間で、応答が帰ってきているか(ミリ秒)、
「Throughput」は、単位時間あたり、どれくらいの件数のリクエストを処理したかを、表しています。
これらが性能要件を満たしているかどうかが、性能面での指標になります。
5.おわりに
いかがでしたでしょうか。
簡単な紹介でしたが、JMeterを導入すると手軽に性能測定ができました。
実際の利用環境では、複雑なシナリオや性能限界テスト・ロングランテストなどの
実運用に即したテストが、行われることが多いと思います。
また、本稿では割愛しましたが、JMeter起動時に以下の警告が、表示されます。
より正確な結果を得るため、業務利用する際はGUIモードからではなく、コマンドラインからの実行とすべきでしょう。
作成したアプリケーションが運用に耐えうるかどうか、データで示すことができるので、とても便利です。
利用できる環境では、ぜひ使ってみてはどうでしょうか。
最後まで読んでいただき、ありがとうございました。