【テストツール】Apache Jmeter~基本概要と簡単なインストール方法を解説
「Webアプリのパフォーマンス計測をしたい」「Webサービスの負荷テストを実施したい」といった作業を実現できるApache Jmeter。その多彩な機能から、WebアプリやWebサーバの性能測定の現場で広く親しまれています。記事では、Apache Jmeterの概要とインストール方法についてお伝えします。
Apache Jmeterの概要
Apache Jmeterはソフトウェア財団によって2001年に初版がリリースされました。Apache Jmeterはクロスプラットフォームであるため、Windows/macOSに限らず、どのOSでも対応可能。最新版はApache Jmeter 5.0となっています。
Apache Jmeterを使用することで、例えば、毎秒1万リクエストなどの負荷をサーバにかけることもでき、その際の応答時間を指標として確認することが可能です。
Apache Jmeterのインストール
それでは、Apache Jmeterを実際にインストールする手順について、以下に解説していきたいと思います。まずは、Apache Jmeterを公式HPよりダウンロードしましょう。
上記画像の赤枠で囲んでいる「apache-jmeter-5.0.zip」をクリックし、ダウンロードを行ない、ファイルを解凍してください。記事では「macOS Mojave / バージョン 10.14.1」の環境で実行しています。
Apache Jmeterを立ち上げる
解凍したフォルダを「アプリケーション」ディレクトリ配下に移動させ、上記画像の赤枠で囲っている「ApacheJMeter.jar」ファイルを開いてください(apache-jmeter-5.0配下のbin配下)
JDKもあわせてダウンロードする
ここまで問題がなければ、Apache Jmeterが立ち上がるかと思います。しかし、すぐさまポップアップが表示され「JDK(Java Development Kit)をインストールしてください」という指示がされると思いますので、こちらもダウンロードを行ないましょう。
JDKの公式HPへ飛んだら、上記画像の赤枠で囲っている「Mac OS X x64」用のファイルをダウンロード。(ご利用のOS/環境にあわせたファイルを選択)手続きのポップアップが表示されますので、指示に従って完了しましょう
Apache Jmeterで簡易な負荷テストをしてみよう
JDKのインストールが完了したら、先ほど開いていたApache Jmeterを一旦閉じて、再度開いてみてください。「JDKをインストールしてください」のポップアップが表示されなければ、正しく設定が完了しています。
それでは、Apache Jmeterの設定が完了しましたので、簡易的な負荷テストを行なってみることにしましょう。今回は、この記事が掲載されている弊社のブログをもとに、どれくらいのレスポンス時間なのか確認してみたいと思います。
スレッドグループを作成する
Apache Jmeterを使い、テストを実行する際にはスレッドグループを作成する必要があります。このスレッドグループの配下にテストの条件を設定することで、テストが実行されます。
では、左側のサイドバーに表示されている「テスト計画」を右クリックしてください。すると「追加」が表示されますので、 「Threads(Users)」→ 「スレッドグループ」の順番にクリック。これで、新規のスレッドグループが左側のサイドバーに作成されます。
スレッド数・Ramp-Up期間(秒)・ループ回数とは
スレッドグループでは「スレッドプロパティ」で設定が可能な「スレッド数」「Ramp-Up期間(秒)」「ループ回数」を調整する必要があります。
スレッド数とは、Apache Jmeterが生成するクライアント数のことで、テスト対象にアクセスするユーザー数のようなものです。Ramp-Up期間(秒)は、スレッドを生成してから何秒で、そのスレッドを起動させるかという設定です。
最後にループ回数は、テスト対象に対し、スレッドがリクエストを何回繰り返すかを指定するものです。今回はシンプルに負荷テストの流れを確認したいだけですので、スレッド数、Ramp-Up期間(秒)、ループ回数ともに「1」と設定します。
HTTPリクエストの作成
設定を終えたスレッドグループ内にテストを作成します。左側のサイドバーに表示されている「スレッドグループ」を右クリックし、「追加」→ 「サンプラー」→ 「HTTPリクエスト」の順番に進んでクリック。
作成されたHTTPリクエスト内では、負荷テストを行なう対象のURLやHTTPメソッド、リクエスト時のパラメータなどを設定することができます。今回は簡易なテストですので、当ブログのURL「https://stg.capa.co.jp/blog」を「サーバ名またはIP」の箇所に入力します。
リスナーを作成
負荷テストの結果を確認するためにリスナーを作成します。HTTPリクエストの作成と同じく、左側のサイドバーに表示されている「スレッドグループ」を右クリックし、「追加」→ 「リスナー」→ 「結果を表で表示」の順番に進んでクリック。
今回は「結果を表で表示」を選択しましたが、選択項目を変えると、結果をグラフで表示したり、統計レポートを作成することも可能です。
それでは、負荷テストを実行してみよう!
では、負荷テストの設定が完了しましたので、テストを実行してみましょう。画面上部にある実行ボタンをクリックすると、テストが開始します。
今回は「スレッド数」「Ramp-Up期間(秒)」「ループ回数」ともに「1」の設定ですので、すぐにテストは終了するかと思います。テスト結果は、上記画像の赤枠で囲った箇所に表示されます。上の例ですと、「Sample Time(ms)」は「554」つまりクライアントからリクエストを実行し、レスポンスが完了するまで「554ミリ秒」であったことが確認できます。
これで、当ブログをテスト対象とした簡易的な負荷テストは終了です。なお、負荷テストを自らが保有しているWebページ以外に実行する際には、「スレッド数」「Ramp-Up期間(秒)」「ループ回数」の設定で負荷をかけ過ぎないように注意し、マナーを守るようにしてください。
まとめ
いかがだったでしょうか? 記事では、クライアント・サーバシステムのパフォーマンス測定が可能なApache Jmeterの概要、インストールと負荷テストの実行手順をご紹介してきました。
今回は非常に簡易的な負荷テストでしたが、Apache Jmeterには多彩な機能が用意されておりますので、幅広いWebサーバ・Webアプリの性能測定が可能です。
RPAを導入し、業務自動化を目指す企業が増えている昨今。RPAとは異なりますが、ソフトウェア開発自動化も正しく実装・運用することで、社内生産性は改善します。適切に性能測定を行ない、パフォーマンスを把握するためにApache Jmeterをぜひ活用してみてください。
建設・土木業界向け 5分でわかるCAD・BIM・CIMの ホワイトペーパー配布中!
CAD・BIM・CIMの
❶データ活用方法
❷主要ソフトウェア
❸カスタマイズ
❹プログラミング
についてまとめたホワイトペーパーを配布中
デジタルツインと i-Constructionについての ホワイトペーパー配布中!
❶デジタルツインの定義
❷デジタルツインが建設業界にもたらすもの
❸i-Constructionの概要
❹i-Constructionのトップランナー施策