https://github.com/jiro4989/jmeter_sample
負荷試験ツールjmeterを使うサンプルプロジェクト
https://github.com/jiro4989/jmeter_sample
docker echo go jmeter loadtest mysql
Last synced: 5 months ago
JSON representation
負荷試験ツールjmeterを使うサンプルプロジェクト
- Host: GitHub
- URL: https://github.com/jiro4989/jmeter_sample
- Owner: jiro4989
- Created: 2021-05-27T21:40:46.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2021-05-28T22:52:44.000Z (almost 5 years ago)
- Last Synced: 2025-03-31T17:50:02.699Z (12 months ago)
- Topics: docker, echo, go, jmeter, loadtest, mysql
- Language: Go
- Homepage:
- Size: 17.6 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.adoc
Awesome Lists containing this project
README
= jmeter_sample
:toc: left
:sectnums:
負荷試験ツールjmeterを使うサンプル。
image::https://user-images.githubusercontent.com/13825004/120019733-c23b8100-c023-11eb-91cf-b5835a4ca7cc.png[report]
== 使い方
まず、 `app` コンテナを起動する。
`app` コンテナは Go の echo で実装された単純なAPIサーバ。
[source,bash]
----
make up
----
次に `jmeter` コンテナを起動して単一のAPIリクエストを行う。
以下のコマンドを実行する。
[source,bash]
----
make jmeter
----
実行すると `jmeter/out` ディレクトリにレポートが作られる。
report/index.html をブラウザで確認し、OKになっているかを確認する。
確認ができたら負荷をかける。
以下のコマンドで秒間を100リクエストの負荷を60秒間かけ続ける。
[source,bash]
----
make jmeter-60
----
== テストプランの更新方法
jmeterのテストプラン(jmxファイル)の更新はGUIから行う。
GUIつきjmeterをホストPCにインストールし、app.jmxファイルを開いて更新すること。
== app.jmxの構成
以下のユーザ定義変数を使用するようにしている。
- BASE_URL
- THREADS
- SECONDS
jmeterからリクエストを送る時、HTTPサンプラーにURLを設定する。
HTTPサンプラーは数が非常に増えるため、ベースURLを変数で共通化している。
それをテストプラン直下の BASE_URL というユーザ定義変数に設定して共通化している。
THREADS と SECONDS は負荷をかける量を制御する変数。
THREADS = 1000, SECONDS = 10 の場合、 1000 / 10 == 100 になるので、秒間100リクエ
ストの負荷を10秒間かける、といった負荷設定になる。
これらをjmeterを実行する時のコマンドライン引数から制御できるようにした。
パラメータはそれぞれ THREADS に対して C_THREADS、 SECONDS に対して C_SECONDS と
した。