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との違いは何ですか?

推薦する

ハイブリッドクラウド環境でディープラーニングを取り入れたID認証はより柔軟

[51CTO.com からのオリジナル記事] 入れ墨は秦と漢の時代に広く使用されていた刑法の一種でし...

Sharktech: 専用サーバーが30ドル割引、40Gbpsの高セキュリティ、Alipayも利用可能

Sharktech の最新の格安サーバー プロモーション: オランダのデータ センター、1Gbps ...

タオバオ特別価格版について語る1万語の長文記事!

2018年3月26日、 Taobao特別価格版アプリが正式にリリースされました。多くの人が疑問に思う...

Open NOS によるクラウドとデータセンターの再構成の習得

企業は、データセンターの運用コストを削減しながら、生産性、ビジネスの回復力、持続可能性を向上させるこ...

クラウドネイティブアーキテクチャは、数千万のDAUを持つゲームをサポートします

[51CTO.com からのオリジナル記事] モバイル ゲームには毎日数千万人のアクティブ ユーザー...

Bilibiliはどのようにして人気になったのでしょうか?

今年、ビリビリはますます人気が高まっています。絶賛された年越しパーティー、UP司会者の頻繁な出演、ス...

すっかり人気がなくなったライブストリーミングは2019年に好転するのでしょうか?

DouyinやKuaishouなどの大手プラットフォームが動画コンテンツ業界全体の注目を集めるように...

SEOの依頼を受ける際に注意すべき3つの問題についてお話ししましょう

私が初めてオンラインで SEO の注文を受け始めたとき、多くの初心者と同じ間違いを犯したことを覚えて...

GaussDB (openGauss) クラウド サービス向けの完全に暗号化されたデータベース

1. クラウドデータベースのセキュリティの現状と問題点クラウド インフラストラクチャの急速な成長と成...

検索エンジンマーケティングのベストプラクティス

要点:検索マーケティングは有名ブランドにとって成功マーケティングの象徴となっている。検索マーケティン...

フォレスターが最新レポートを発表、テンセントクラウドサーバーレスは「強力なパフォーマンス」と評価

独立系グローバルコンサルティングおよびサービス組織である Forrester は本日、「The Fo...

5Gとエッジコンピューティング:エネルギー管理の革命

5Gとエッジコンピューティングがエネルギー管理にどのような革命をもたらすかを学ぶ5G とエッジ コン...

Zookeeper に基づく分散ロック

この記事を読むのに必要な時間はたった 10 分です。現在、分散ロックを実装するための一般的なソリュー...