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
このうち、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 秒あたりにサーバーによって処理されるトランザクション数