パフォーマンステスト - jmeter リアルタイム圧力テスト結果収集

序文

テスト レポート vs.
JMeter のネイティブ テスト レポートがもたらす「痛み」

• リアルタイムではない
• 報告されるデータはテスト期間の平均である
• 問題があるように見える

ストレスモニタリングプラットフォームの利点

• JMeter 圧力測定データのリアルタイム表示
• オプションのデータ範囲
• より使いやすいインターフェース

1. 圧力計測・監視プラットフォームの構成

• JMeter: 圧力測定データを生成する圧力測定ツール
• InfluxDB: オープンソースの時系列データベース、リソース監視データの処理と分析、
および圧力測定データの保存に特に適しています
• Grafana: さまざまなサポートをサポートする測定分析および視覚化アイコン表示ツールデータ ソースの種類
。InfluxDB に保存されているデータをグラフの形式で表示するために使用されます。

2. パフォーマンス監視プラットフォーム - InfluxDB の導入

デプロイ方法: Docker デプロイ
1. 事前準備:
• Docker のインストール
• influxDB イメージのダウンロード: docker pull influxdb:1.8

2. influxDB コンテナを起動し、
新しい influxDB コンテナに jmeterdb という名前を付け、docker コマンドを実行してコンテナを作成します

docker run -d -p 8086:8086 -p 8083:8083 --name=jmeterdb
influxdb:1.8

次のコマンドを実行してコンテナに入ります

docker exec –it jmeterdb bash

3. コンテナ内に jmeter データベースを作成し、JMeter から送信された圧力測定データを収集します

influxコマンドを実行してコマンドコンソールに入ります。

root@1b2e93bb7534:/# influx
Connected to http://localhost:8086 version 1.8.10
InfluxDB shell version: 1.8.10

4. SQL ステートメントを実行して jmeter データベースを作成します。

> create database jmeter;
> show databases;
name: databases
name
----
_internal
jmeter
> use jmeter;
Using database jmeter

5. jmeter データベースを作成した後、次のコマンドを実行して、データベースが正常に作成されたことを確認します

> show databases;
name: databases
name
----
_internal
jmeter

3. パフォーマンス監視プラットフォーム - JMeter の導入

1. バックエンド リスナー コンポーネントを JMeter に追加して
データを収集し、influxdb に送信します。

ここに画像の説明を挿入
バックエンド リスナー実装で InfluxdbBackendListenerClient を選択します (注
: jmeter 5.0 以降を使用する必要があります。それ以外の場合、このコンポーネントを表示するにはプラグインを別途インストールする必要があります)

• influxdbURL に実際の influxdb ホスト名を入力します
。 • アプリケーションに baidu を入力します
。 • testTitle に Baidu Testing と入力します
。 • 50;90;95;99 をパーセンタイルで入力します。
• summaryOnly を false に設定します (influxdb がより詳細な情報を収集できるようにします)
• 残り構成は変更されません

構成参考図
ここに画像の説明を挿入

2. JMeter を実行し、influxdb でデータが受信されたかどうかを確認します。
influxdb コマンド コンソールのクエリ ステートメントを使用して、データが受信されたかどうかを確認します。

> select * from jmeter;
name: jmeter
time                application avg                count countError endedT hit max  maxAT meanAT min minAT pct50.0 pct90.0            pct95.0            pct99.0            rb     responseCode                                                      responseMessage                                                   sb    startedT statut transaction
----                ----------- ---                ----- ---------- ------ --- ---  ----- ------ --- ----- ------- -------            -------            -------            --     ------------                                                      ---------------                                                   --    -------- ------ -----------
1684502522446000000 baidu                                           0               0     0          0                                                                                                                                                                                                                       0               internal
1684502523664000000 baidu       42                 5     0                 5   94                25        30      94                 94                 94                 12485                                                                                                                                      575            all    all
1684502523667000000 baidu       42                 5                           94                25        30      94                 94                 94                 12485                                                                                                                                      575            all    Baidu Request
1684502523668000000 baidu       42                 5                           94                25        30      94                 94                 94                                                                                                                                                                           ok     Baidu Request
1684502523669000000 baidu                                           5               3     2          1                       

4. パフォーマンス監視プラットフォーム - Grafana の導入

1. 事前準備
デプロイ方法:Dockerデプロイ
ダウンロードイメージ:docker pull grafana/grafana
start image:

docker run -d -p 3000:3000 --name=jmeterGraf
grafana/grafana

2. Grafana のコンソール リンクにアクセスして、正常に実行されていることを確認します。
デフォルトのユーザー名/パスワード: admin/admin。ログイン後は、パスワードの変更をスキップしてください。

3. Grafana でデータ ソースを追加します
。 • [データ ソースの追加] を選択します
。 • InfluxDB を検索します
。 • クリックして DB を選択します。

4. InfluxDB データ ソースを設定し
、URL を入力します: http://[ホスト名または IP]:8086
データベース:
jmeter の残りのパラメータはデフォルト値のままです。
ここに画像の説明を挿入
ここに画像の説明を挿入
5. [保存してテスト] ボタンをクリックして、返されたメッセージが表示されていることを確認します。
ここに画像の説明を挿入
6. Grafana JMeter ダッシュボードでインポートすると、[
ホーム ダッシュボード] ページが表示され、[インポート] が選択されます。

準備した URL を開きます: https://grafana.com/grafana/dashboards/4026
[読み込み] ボタンをクリックしてインポートします。
ここに画像の説明を挿入
7. DB 名で InfluxDB を選択し
、[インポート] ボタンをクリックしてダッシュボードのインポートを完了します。

ここに画像の説明を挿入
8. 新しくインポートされた JMeter ダッシュボードを開いて結果を表示します
ここに画像の説明を挿入

5. 性能監視プラットフォームの導入 – 運用と結果表示

JMeter で、スレッド数をそれぞれ 10、20、および 30 に調整します。連続圧力
テスト時間は 20 秒です。システムにそれぞれ圧力テストを適用すると、実行結果が
Grafana パネルに表示されます。

ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/YZL40514131/article/details/130775693