JMeterの分散配置の原則とプログラム

転載:http://www.cnblogs.com/yangxia-test/p/4016277.html
JMeterはCPUのためのJavaアプリケーションで、必要に数千の同時ユーザーをシミュレートする際のメモリ消費量は、したがって、比較的大きく、かつ、使用同時ユーザーのすべてをシミュレートするために、単一のマシンには、肥大化し、さらにはメモリオーバーフローエラーJAVAにつながります。JMeterのツールは、より大きな負荷容量を提供して行うには、同時に負荷のメカニズムを複数のマシンを使用することでDapperのをJMeterの。

だから、負荷がそれを実行している間、複数のマシンを達成するためにどのように?もちろん、複数の負荷機械の前に座っていない複数の人が、通話を開始、それはJMeterを同時に開始しました。愚かこのように、本当の同期を達成することは困難です。実際には、我々はJMeterを、単一のクライアントによるサーバのストレステストと同期されている複数のリモートのJMeterサーバを制御することができます。

遠隔操作でJMeterは、テスターは、複数のローエンドコンピュータがテストをコピーまたがることができるので、あなたは、サーバー、クライアントのJMeterインスタンスに比較的大きな圧力をシミュレートすることができます理論的には、それらを介して、リモートのJMeter例の任意の数を制御することができ、テストを集めますデータ。そのため、以下のような特徴があります:

  • ローカルマシンに試験サンプルデータを保存

  • 複数のJMeterを管理するための単一のマシンによる実行エンジン。

  • それは、それぞれのJMeterサーバーに送信されます各マシン、のJMeter GUIクライアントをテストするためのプログラムをコピーする必要はありません。

  • それぞれのJMeterリモートサーバが同じテスト計画を実行し、実行時にロードバランシングをしないJMeterは、各サーバーは、完全なテスト計画を実行します。

1.4Gヘルツ〜3GHzのCPU、1GBのメモリのJMeterクライアント、処理スレッド100〜300です。しかし、Webサービスの例外。XMLの処理はCPU集中型の操作ですが、それはすぐにCPUのすべてを消費します。一般的には、XMLアプリケーションにおけるコア技術として、その性能は通常のWebアプリケーションの25%〜10%となります。また、場合、マシンによって生成された負荷のすべて、ネットワークカードとスイッチポートは、そのスレッドのJMeterクライアントの数が100を超えてはならない、ボトルネックを作成する可能性があります。

JMeterのリモートモードを使用すると、非独立したGUIのテストに同じ番号を実行しているよりも多くのリソースを消費しません。あなたはJMeterのリモートサーバーの多くを使用する場合は、クライアントは、過負荷を引き起こす可能性があり、またはネットワーク接続が混雑しています。

手順以下の複数のマシンを使用して負荷を生成:

(1)負荷としてマシン上のすべての所望の動作のJMeter JMeterのジェネレータを搭載し、他のマシン剤として、コントローラとしてのマシンのいずれかを決定します。

(2)すべてのJMeterサーバはエージェントマシンのファイル上で実行されている(192.168.9.99と192.168.9.130剤として二台のマシンを想定)

(3)binディレクトリにマシンのコントローラをJMeterの、jmeter.propertiesファイルを見つけ、ファイルを編集します。

検索:
remote_hosts = 127.0.0.1
:として改正
remote_hosts = 192.168.9.99:1099:1099,192.168.9.130

ここでポートに特に注意を払った後、コントローラとJMeterのエージェント間の通信用のデフォルトポート番号であるためにRMIポート1644上のいくつかの情報が、テストは1644が失敗した実行するように設定されていることがわかったとき、1099年を通じて実行した後に変更。また、マシンは、エージェントのファイアウォールオンになっていることに注意してください。

(4)、マシンコントローラ上のJMeter jmeter.batアプリケーションを起動し、それぞれ、エージェントを起動するには、「ファイル名を指定して実行」--->「リモートスタート」メニューを選択し、また直接起動エージェントの全てに「リモート全ての開始」を選択することができます。

一般的な問題が発生しました:

「リモートホストへの不正な呼び出しを」示唆ラン機械制御のコントローラ側の1、、。

ソリューション:チェックのJMeterサーバーがマシン上で制御されているが開始、またはremote_hosts JMeter.properties構成エラーではありません。

2、AgentマシンはJmeter_server.bat、舞台裏プロンプトを起動します:「ApacheJmeter_core.jarを見つけることができませんでした」

解決策:マシンにインストールされたエージェントJDKを決定し、環境変数を設定

3、リモートスタート、エラー:

ERROR - jmeter.gui.action.RemoteStart:リモートエンジンjava.rmi.ConnectExceptionが送出を初期化に失敗しました:接続がホストすることを拒否:127.0.0.1を。ネストされた例外はある:
java.net.ConnectException:接続が拒否されました:接続
(不明なソース)sun.rmi.transport.tcp.TCPEndpoint.newSocketで
(不明なソース)sun.rmi.transport.tcp.TCPChannel.createConnectionで
sun.rmiという時に.transport.tcp.TCPChannel.newConnection(不明なソース)
sun.rmi.server.UnicastRef.newCall(不明なソース)で
sun.rmi.registry.RegistryImpl_Stub.lookupで(不明なソース)
java.rmi.Naming.lookupで(不明出所)
org.apache.jmeter.engine.ClientJMeterEngine.getEngineで(ClientJMeterEngine.java:54)
org.apache.jmeter.engine.ClientJMeterEngine。の<init>(ClientJMeterEngine.java:67)で
org.apache.jmeter.gui.action.RemoteStart.doRemoteInitで(RemoteStart.java:180)
org.apache.jmeter.guiで.action.RemoteStart.doAction(RemoteStart.java:80)
org.apache.jmeter.gui.action.ActionRouter.performAction(ActionRouter.java:81)で

私は最終的に問題を解決したが、実際にそれが簡単な良い理由です。限り、マシンが実行できるようServer.bat。

注:マシンの127.0.0.1のローカル設定で書かれている場合、私たちは言葉を書き込みませsever.batが開いていないだろうフォーマットする必要があり

ポートが占有されているかどうかを確認するために4、1099

netstatの-ano | findstrは"1099"
タスクリスト| findstrは"1099"

おすすめ

転載: blog.csdn.net/weixin_33910137/article/details/90862293