0

マスター Windows ボックスと 4 つのスレーブ Linux ボックスを使用して、jmeter 負荷テストをリモートで実行しようとしています。この構成では、スレーブ ボックスごとに最大 983 のスレッドしか生成できません。その後、メモリ不足の例外が原因で新しいスレッドを作成できなかったという例外がスローされます。私のハードウェア構成は、64 コアと 64 GB RAM でかなり高いです。したがって、ハードウェアがボトルネックになるべきではありません。開始ヒープ サイズに使用している設定は 3072m です。ほとんどのフォーラムでは、デフォルトの 512k であるこの数を減らすことをお勧めします。しかし、スレーブ ボックスで jmeter-server を起動しているときに、これよりも低い値を維持すると、初期ヒープ サイズが小さすぎるというメッセージが表示されます。

私が使用したもう 1 つの構成は、スタンドアロン サーバーとしての Linux ボックスの 1 つでした。この場合、問題なく約 10,000 のスレッドを生成することができました。

すでに ulimit を 32768 に増やしています。

マスタースレーブ構成を使用してより多くのスレッドを生成する方法はありますか、それとも完全に削除して、4 つのボックスすべてで並行してスクリプトを個別に実行し、データをコンパイルする必要があります。もしそうなら、2番目のアプローチの指針を教えてもらえますか?

4

2 に答える 2

0

以下は、私が行ったいくつかの重要な調査結果です。これらの数値は、マシンの大きさに比例します。次を使用して確認できます。

cat /proc/meminfo

  • ulimit以下を使用して設定を変更しました。

    ulimit -n 32768

  • あなたがルートであるかどうかで違いが生じます。root である必要があるのか​​、単に sudo ユーザーである必要があるのか​​はわかりません。しかし、ルートとしてログインすると、どういうわけか、より多くのスレッドを生成することができました。

  • 一部sysctl設定を変更しました。

    /sbin/sysctl net.core.wmem_max=8388608

    /sbin/sysctl net.core.rmem_max=8388608

    /sbin/sysctl net.ipv4.tcp_rmem="4096 87380 8388608"

    /sbin/sysctl net.ipv4.tcp_wmem="4096 87380 8388608"

    /sbin/sysctl net.ipv4.tcp_tw_reuse=0

    /sbin/sysctl net.ipv4.tcp_tw_recycle=0

    /sbin/sysctl net.ipv4.tcp_keepalive_time=1800

    /sbin/sysctl net.ipv4.tcp_max_syn_backlog=4096

于 2014-02-18T15:45:08.537 に答える
0
  • 512K は Xmx ではなく Xss 用です。Xmx を設定したものに保つことができます。
  • 32 ビットではなく Java 64 ビット JVM を使用し、最新の Java バージョンを使用する
  • 問題が見つかった場合は、ボックスごとに多くの JMeter インスタンスを実行することもできます。
  • 最新のjmeterバージョンを使用していることを確認してください

そしてこれを読んでください:

于 2013-08-22T20:56:46.383 に答える