Jmeter (48) - 入門レベルから上級レベルまで - Jmeter はサーバーのパフォーマンスを監視します (詳細なチュートリアル)

1 はじめに

JMeter は、圧力、インターフェイスなどのテスト ツールです。Jmeter は、サーバーの CPU、メモリ、およびサーバー リソースの使用状況を監視するロードランナーなどのその他のパフォーマンス パラメーターも監視できますが、いくつかのプラグインのインストールが必要です。JMeter には通常、Tomcat の /manager/status を通じてサービス リソースの使用状況を監視する機能が付属しています。この場合、Tomcat がサポートするリソース使用量のみを監視できます。
この記事を通じて、ホン兄弟は主に、JMeter プラグインを介してサーバーの CPU、メモリ (Memory)、ディスク (DisKs I/O)、ネットワーク (NetWork I/O)、およびその他の関連リソースを監視する方法について説明します。

2. Jmeterプラグインをダウンロードする

モニタリングにはいくつかのプラグインが必要なため、ホン兄弟が準備を整え、必要なプラグインをダウンロードしてインストールします。
JMeter プラグイン URL: https://jmeter-plugins.org/downloads/old/

自動テストを学びたい場合は、一連のビデオをお勧めします。このビデオは、Bilibili によって再生されるネットワーク全体でナンバー 1 の自動テスト チュートリアルであると言えます。同時にオンラインに参加している人の数は 1,000 人に達しました、また、収集してさまざまなチャネルで伝達できるメモもあります。マスター技術コミュニケーション: 798478386    

【更新】Bilibili が教える Python インターフェース自動テストの最も詳細な実践チュートリアル大全(実践版最新版)_bilibili_bilibili 【更新】Bilibili が教える Python インターフェース自動テストの最も詳細な実践チュートリアル大全(実践版)最新版)には、1. インターフェース自動化のためにインターフェース自動化を行うべき理由、2. インターフェース自動化の要望の全体像、3. インターフェース自動化のためのインターフェース実践など、合計 200 本のビデオが含まれています。さらにエキサイティングなビデオはこちらUPマスターよりUPアカウントをフォローしてください。icon-default.png?t=N7T8https://www.bilibili.com/video/BV17p4y1B77x/?spm_id_from=333.337 

このうち、JMeterPlugins-Standard と JMeterPlugins-Extras はクライアント側 (Jmeter プラグイン) で、ServerAgent はサーバー側 (サーバーに配置される) です。

3.解凍してインストールします

1. クライアントの 2 つのファイルを解凍し、そのパス JMeterPlugins-Extras(Standard)-1.3.1\lib\ext を入力し、2 つのファイル JmeterPlugins-Extras.jar (JmeterPlugins-Standard.jar) をコピーして、 JMeter クライアントのインストール クライアントの lib/ext フォルダーで JMeter を開くと、リスナーに Permon Metrics Collector が表示され、クライアントの構成が成功しています。以下に示すように:

2. 後で使用できるように、ServerAgent-2.2.1.jar を監視対象サーバーにアップロードします。以下に示すように:

 Windowsサーバー:

 Linuxサーバー:

4.モニタリング

1. クライアントで Jmeter を起動し、jp@gc - PerfMon Metrics Collector リスナーを追加し、監視するパラメータを追加します。以下に示すように:

 

2. 使用するサーバーにコピーした圧縮パッケージを解凍し、Windows 環境のディレクトリに入り、ServerAgent.bat をダブルクリックして起動します。Linux 環境では、デフォルトでポート 4444 を使用して ServerAgent.sh を実行して起動します。この場合、サーバーは正常に動作します。以下に示すように:

 Windows環境:

Linux環境:

 

3. Jmeter を実行し、次の図に示すようにサーバー ログ、つまりチャート アイコンの内容を観察します。

 

4. ServerAgent 側のログは次の図のようになります。

Windowsサーバー:

 Linuxサーバー:

 

5. 3 番目と 4 番目のステップから、TCP リンクを受信して​​いることがわかります。応答がなく、スタックしました。前に実行したときはこうではなかったと記憶しています。後で、Jmeter を確認しました。クライアントにアクセスすると、次の図に示すように、エラーが報告されたことがわかりました。

 

6. エラー メッセージは次のとおりです。

java.lang.NoSuchMethodError:org.apache.jmeter.samplers.SampleSaveConfiguration.setFormatter(Ljava/text/DateFormat;)V 情報を検索した結果、Jmeter のバージョンが高すぎるため、いずれかのメソッドがサポートされていないことがわかりました。jmeter のバージョンが高すぎるため、setFormatter メソッドはバージョン 3.1 以降はサポートされません。ただし、プラグインにはそれより上位のバージョンがないため、5.1 をアンインストールして 3.1 を再インストールすることしかできません。再インストールに成功しました。次の図に示すように、ServerAgent 側のログを再度確認します。

INFO    2021-05-28 09:27:46.540 [kg.apc.p] (): Accepting new TCP connection  #成功连接
INFO    2021-05-28 09:27:46.543 [kg.apc.p] (): Yep, we received the 'test' command   #接收到test消息
INFO    2021-05-28 09:27:46.547 [kg.apc.p] (): Starting measures: cpu:
INFO    2021-05-28 09:27:46.801 [kg.apc.p] (): Client disconnected   #断开连接

7. 上記のログ情報から、jmeter の実行時に接続は成功したがすぐに切断され、必要なデータが取得できなかったことがわかります。一定期間にわたってデータを取得できるようにするには、時間制御されたコンポーネントが必要だと思います。

ステップ i: スレッド グループを追加し (送信リクエストは追加しないでください)、ループ数を永久に設定して、[実行] をクリックします。
結果: 接続に成功しましたが、すぐに切断されました。すべての構成を次の図に示します。

ServerAgent側のログは以下の通りです。

INFO    2021-05-28 09:37:00.520 [kg.apc.p] (): Accepting new TCP connection
INFO    2021-05-28 09:37:00.521 [kg.apc.p] (): Yep, we received the 'test' command
INFO    2021-05-28 09:37:00.523 [kg.apc.p] (): Starting measures: cpu:
INFO    2021-05-28 09:37:00.653 [kg.apc.p] (): Client disconnected

以下の図に示すように、Jmeter クライアント構成:

以下に示すようなグラフ:

 

ii スレッド グループを追加し、ループ数を「Forever」に設定します。任意のサンプラーをスレッド グループに追加します (パラメーターを設定せずに)。PerfMon Metrics Collector リスナーを追加し、[実行] をクリックします。
結果: チャートが正常に取得されました。監視データを終了するには、[停止] をクリックします。すべての構成を次の図に示します。

ServerAgent側のログは以下の通りです。

INFO 2021-05-28 10:02:57.150 [kg.apc.p] (): Accepting new TCP connection
INFO 2021-05-28 10:02:57.152 [kg.apc.p] (): Yep, we received the 'test' command
INFO 2021-05-28 10:02:57.154 [kg.apc.p] (): Starting measures: cpu: network i/o: disks i/o:
INFO 2021-05-28 10:03:05.465 [kg.apc.p] (): Client disconnected

以下の図に示すように、Jmeter クライアント構成:

 以下に示すようなグラフ:

5. まとめ

1. ServerAgent-2.2.1\bin\startAgent.bat を実行します (Linux は startAgent.sh を使用します) (デフォルトのポートは 4444 ですが、パラメータ –udp-port 4445 –tcp-port 4445 を指定することもできます)

2. 共通コンポーネントの簡単な紹介:
① jp@gc - Bytes Throughput Over Time:
さまざまな時点でのスループット表示の集計レポート (グラフ) では、スループットがリクエスト数 (たとえば 1.9/秒) で表示されます。 1.9 は s リクエストごとに送信され、ここでの表示は Bytes で表示されたチャートです。
② jp@gc - Composite Graph: Mixed chart
グラフ内に何枚のチャートをまとめて表示するかを設定でき、複数のチャートを同時に表示できます時間
③ jp@gc - 1 秒あたりのヒット数: 1 秒あたりのクリック数
④ jp@gc - PerfMon メトリクス コレクター: CPU、メモリ、ネットワーク、I/O などを含むサーバー パフォーマンス監視制御
⑤ jp@gc - 時間の経過に伴う応答遅延:クライアントから送信されたリクエストを記録します。完了後、サーバーはリクエスト前の期間を返します。
⑥ jp@gc - 応答時間分布: テストの応答時間の分布を表示します。X 軸は、時間間隔ごとにグループ化された応答時間を示します。 Y 軸には各間隔のサンプル数が含まれます。 ⑦ jp
@ gc - 1 秒あたりのトランザクション数: 1 秒あたりのトランザクション数、1 秒あたりにサーバーによって処理されるトランザクション数

 

おすすめ

転載: blog.csdn.net/Faith_Lzt/article/details/133172749