Apache JMeterのサーバー負荷計測について(その1)
- 2020年2月20日
- 技術情報
今回は、オープンソースの負荷計測ツール「Apache JMeter」のサーバー負荷計測方法について、説明します。
「Apache JMeter」はJavaで実装されており、Javaが実行可能な環境であればOSを問わず使用できます。今回はWindows10で動作の確認をおこないたいと思います。
今回は簡単に設定が可能なGUI(グラフィカルユーザーインターフェイス)モードを使用して、サーバーにどのようなリクエストを送信するか、またどれぐらいの負荷をかけるか等の設定をおこないたいと思います。
負荷計測のテストはより正確に計測がおこなうためにGUI(グラフィカルユーザーインターフェイス)モードではなく、CLI(コマンドラインインタフェース)モードで実行したいと思います。
「Apache JMeter」のダウンロードとGUIモードの起動方法
「Apache JMeter」は以下のURLからダウンロードをおこなうことが可能です。
https://jmeter.apache.org/
ダウンロードが完了したら、解凍をおこない、「jmeter.bat」を実行します。
※デスクトップに解凍をおこなった場合、「jmeter.bat」は以下の階層に保存されます。
C:\Users(ユーザー名)\Desktop\apache-jmeter-5.2.1\bin\jmeter.bat
「jmeter.bat」をダブルクリックすると、「Apache JMeter」がGUIモードで起動します。
「Apache JMeter」のテストプラン作成
まずは、TestPlan>Add>Thread(User)>ThreadGroupでThreadGroupの追加をおこないます。
ThreadGroupの追加ができたら、ThreadGroupにサーバーにHTTPRequestをおこなうために、
ThreadGroup>Add>Sampler>HTTPRequest
の追加をおこないます。
また、負荷試験の結果を確認するために
ThreadGroup>Add>Listener>ViewResultsTree
ThreadGroup>Add>Listener>ViewResultsInTable
の追加もおこないます。
サーバーにどのようなHTTPRequestの送信をおこなうのかはHTTPRequest以下の項目で設定をおこなうことが可能です。
今回は以下の設定をおこないました。
以下は上記の各設定項目についての解説です。
1)「Server Name or IP」
どのサーバーに対してHTTPRequestの送信をおこなうか設定します。
今回はlocalhostでテストをおこなうために「localhost」と設定しています。
2)「Method」
HTTPRequestのタイプを設定します(GETやPOST等)。
今回はサーバーにファイルの送信をおこない負荷の計測をおこないたいので「POST」に設定しています。
3)「Parameters」
実際に送信をおこなうパラメータのKey値、Value値の設定をおこないます。
「Parameters」は文字列の送信だけではなく、ファイル送信(アップロード)する場合の設定も可能です。
※今回はファイルのアップロードでの負荷テストをおこないたいため、この部分は設定せずに「Files Upload」タブ(以下参照)の設定をおこなっています。
4)「Files Upload」
どのファイルを送信(アップロード)するかについて設定をおこないます。
ファイル送信をおこなう場合、以下の各パラメータの設定が必要です。
5)「FilePath」
アップロードするファイルが保存されているパスを設定します。
今回はデスクトップにある「test.pdf」を指定しています。
6)「ParameterName」
アップロードするファイルのName属性を設定します。
「upload.php」の処理の記述にあわせて「uploadfile」としています。
7)「MIME Type」
アップロードするファイルのタイプにあわせて設定します。
今回はpdfファイルの送信をおこなうので「application/pdf」と設定しています。
8)「Path」
サーバーサイドでアップロードされたファイルを処理するためのURLを設定します。
「upload.php」に処理を記述しましたのでそのように設定をおこなっています。
これでHTTPRequestの設定は完了です。
次回は負荷テストの実行およびテスト結果の確認方法についての説明をおこないたいと思います。
木曜日担当:nishida
nishida at 2020年02月20日 10:00:04