JMeter 分散ストレステストの展開について話す

JMeter 分散ストレステストの展開について話す

JMeter を使用してパフォーマンス テストを実行する場合、単一のマシンではパフォーマンス ストレス テストの負荷要件を満たすことができない場合、または単一のマシンのネットワーク帯域幅にボトルネックがある場合は、分散デプロイメント ソリューションを使用してこれらの問題を解決できます。

JMeter 分散デプロイメント ソリューションでは、1 つのノードが制御ノード (マスター) として必要であり、残りのノードはエグゼキュータ (スレーブ) として使用されます。制御ノードは実行マシンに命令を送信して結果を表示する役割を担い、実行マシンは負荷を生成して制御ノードに結果を返す役割を担います。

JMeter 分散環境の展開

環境計画の例:

  • 制御マシン: Windows システム、マスター ノード、IP=192.168.2.5;
  • 実行マシン: CentOS システム、スレーブ ノード、ip=192.168.2.15;

1. 前提条件

  • マスターとスレーブは同じ JMeter バージョンを使用します。マスターとスレーブは同じ JAVA バージョンを使用します。
  • マスター ノードとスレーブ ノード: 有効なキーストア ファイルを作成するか、SSL を無効にします。ここで、SSL を直接無効にすることを選択します。 JMETER_HOME/bin/jmeter.properties を編集し、server.rmi.ssl.disable=true を設定します。

SSL を有効にする必要がある場合は、設定については「13.1 Apache JMeter での SSL の設定 - ユーザーズ マニュアル: リモート (分散) テスト」を参照してください。

2. 実行マシンノード(スレーブ)の構成

  • rmi.server.hostnameを設定し、JMETER_HOME/bin/jmeter-serverを編集し、デフォルトのMI_HOST_DEF項目のコメントを解除し、ホスト名をローカルIPアドレスに変更します。
  1. MI_HOST_DEF=-Djava.rmi.server.ホスト名=192.168.2.15

このオプションを設定することをお勧めします。設定しないと、jmeter-server の実行時に次のエラーが発生する可能性があります。

  1. ./jmeter-サーバー
  2. サーバーの起動失敗しました: java.rmi.RemoteException: 起動できません。
  3. localhost.localdomain はループバック アドレスです
  4. エラーが発生しました: 開始できません。 localhost.localdomainはループバックです
  5. 住所。

サービスを開始するには、JMETER_HOME/bin/jmeter-server を実行します。以下の情報が出力されれば起動は成功したことになります。

3. 制御ノード(マスター)の構成

  • スレーブ ノードを指定し、JMETER_HOME/bin/jmeter.properties を編集して、remote_hosts をスレーブ ノードの IP アドレスに設定します。スレーブ ノードが複数ある場合は、複数の IP アドレスをカンマで区切ります。
  1. リモートホスト=192.168.2.15

remote_hostsはポート番号を指定する必要はなく、JMeterが自動的に検出します。

  • 複数のネットワーク カードの場合、マスター ノードに複数のネットワーク カードがある場合 (たとえば、仮想マシンがインストールされている場合は、ネットワーク カードが存在します。たとえば、CentOS 仮想マシンが Windows マシンにスレーブとしてインストールされている場合、これは複数のネットワーク カードのケースです)、JMeter は任意のネットワーク カードを選択して、スレーブ ノードとの接続を確立しようとします。間違ったネットワーク カードを選択した場合、接続を確立できません。複数のネットワーク カードの問題は、IP アドレスを明示的に指定することで解決する必要があります。 JMETER_HOME/bin/jmeter.bat を編集し、下の図でマークされた場所に次の 2 つのステートメントを追加します。 server.hostname をスレーブに接続できる IP アドレスに設定します。
  1. rmi_host=-Djava.rmi.server.hostname=192.168.2.5を設定します
  2. set ARGS=%DUMP% %HEAP% %NEW% %SURVIVOR% %TENURING% %PERM% %DDRAW% %rmi_host%

4. リモートテストとデバッグ

手順 3 の設定が完了したら、JMeter を再起動し、テストするスクリプト ファイルを開くと、[実行/リモート スタート] メニューにスレーブ ノードの IP アドレスが表示されます。スレーブ ノードの IP アドレスをクリックして、リモート ノードのテストを開始します。

デフォルトでは、概要レポートと集計レポートを通じてリモート ノード テストのコミッショニング結果を表示できます。

結果ツリーには応答データは表示されません。これは主に、マスターノードがデータ転送のオーバーヘッドを削減したいためです。

表示する必要がある場合はコメントを解除してください

JMETER_HOME/bin/jmeter.properties ファイル

この目標を達成するには、mode=Standard を使用します。

スレーブノードは応答接続情報も出力します。

ストレス テストを実行する場合、JMeter では、一部の操作リソースを節約するために非 GUI モードで実行することを公式に推奨しています。ストレステストを開始するには、次のコマンドを実行します。

  1. jmeter -n -t 分散テスト example.jmx -l report_01.jtl -e -o report_01
  2. パラメータの説明:
  3. -n は非 GUI モードを意味します
  4. -t はスクリプト ファイルを指定します。相対パスまたは絶対パスを使用して指定できます。
  5. -l は結果レコードを指定するためのファイルを示します。ファイル形式は.jtlです
  6. -eはテストが完了したときにレポートが生成されることを意味します
  7. -o レポートが生成されるディレクトリを指定します

ストレス テスト中は、概要情報が継続的に印刷され、実行にかかった時間、応答時間、エラー率、スレッド数などを確認できます。

ストレステストが完了すると、パラメータで指定されたディレクトリにHTML形式のテストレポートが生成されます。

<<:  Amazon Web Services、AWS Glue サービスのセキュリティ脆弱性を修正

>>:  Podmanとは何ですか? Dockerとの違いは何ですか?

推薦する

SEOは2人で3000元というお買い得価格になりました

はじめに: ある日、私は SEO の仕事をしている同級生とチャットをしていました。彼は転職をしたいと...

ネットワークマーケティングの利点は何ですか

オンラインマーケティングの利点を知りたい場合は、まずオンラインマーケティングとは何かを理解する必要が...

エンタープライズクラウドコンピューティングの選択: 行動する前によく考えてください

テクノロジーの世界では、クラウド コンピューティングが実際に何であるかについて議論が続いています。認...

ウェブマスター個人が知っておくべき基礎知識

ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービスWebホスティングとは何...

Google が、広告が多すぎるウェブサイトの所有者を罰すると明言した場合、私たちはどう対応すべきでしょうか?

現在、ほとんどの個人ウェブサイトは依然として利益のために広告に依存していますが、ほんの数日前、Goo...

簡単な説明:新しいウェブサイト運営のいくつかの運用方法

新規ウェブサイトの運営方法は多種多様で、運営方法やプロモーション方法も人それぞれですが、著者はそれら...

「100元返還」の金看板に騙された会員は38万人、被害額は1億8千万元に上る

サイバー犯罪対策・写真記者の徐偉 インターンの李春光「一筋の火花が草原に火を放ち、一筋の水が海になる...

Java で独自の Redis 分散ロックをゼロから実装する

[[347022]] Redis 分散ロック分散ロックはなぜ必要なのでしょうか? JDK はロックす...

Weiboマーケティングに良い方法はありますか?

ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービス微博マーケティングとは、...

budgetvm: 日本専用サーバー、1Gbpsの帯域幅、無制限のトラフィック、月額88ドルから、米国に4つのデータセンターあり

budgetvm は 2005 年に設立されたアメリカの老舗企業です。主に米国 (ロサンゼルス、シカ...

オンライン文学市場の収益性の高い「出発点」をめぐる競争はすでに始まっている

利益を上げ始めたばかりのオンライン文学市場において、強力な侵入者であるテンセントと対峙したシャンダは...

中順益はNetEase Cloudの専用クラウドを使用して、シナリオベースの金融テクノロジーサービスを積極的に推進しています。

最近、インターネット金融会社が大量に株式を公開し、市場全体が少し熱くなっています。こうした状況を受け...

外部リンクを手動で投稿するのは、良いソフト記事ほど良くない

今日はたくさんのフォーラムに行きました。最初に行ったのはadmin5です。admin5は私のお気に入...

OceanBaseはオープンソースであり、11枚の写真は分散データベースのコア知識を理解するのに役立ちます。

[[402974]]この記事はWeChatの公開アカウント「プログラマーjinjunzhu」から転載...