可能な限り多くのスレッドを使用したい(使用するコンピューターの数を減らすため)が、クライアントにボトルネックを生じさせないようにします。
私はJMeterをかなり使用しましたが、非常に高い負荷を生成するのは得意ではないことがわかりました。 2Gbメモリを搭載した2GhzCore2 Duoでは、約100スレッドを合理的に期待できます。
そうは言っても、PCのCPUが100%でピークに達しないように、ハードウェアで実行するのが最善です。安定した80%〜90%が最適です。そうしないと、結果が影響を受けます。
私も試しました WAPT 5 -同じPCから1000以上のスレッドを正常に実行しました。無料ではありませんが、JMeterよりも使いやすくなっていますが、すべての機能を備えているわけではありません。
少なくともバージョン2.6以降の古い回答については、 https://stackoverflow.com/a/11922239/460802 を参照してください。
JMeterは、正しく使用すれば、非常に高い負荷をシミュレートできます。
JMeterが高負荷を処理できないと言う都市伝説に耳を傾けないでください。
今答えに関しては、それは依存します:
あなたのマシンパワー
あなたのjvm32ビットまたは64ビット
jvmに割り当てられたメモリ-Xmx
テスト計画(多くのBeanshell、ポストプロセッサ、xpath ...多くのCPUを意味します)
oS構成(調整可能)
GUI /非GUIモード
したがって、理論的な答えはありませんが、 ベストプラクティス に従うことで、JMeterのパフォーマンスが向上します。
Jmeterを使用すると、リモートテストを通じて負荷を分散できることに注意してください。
そして最後に、それが十分でない場合はクラウドベースのテストを使用します。
チューニングのヒントについては、これをお読みください。
負荷テストを実行し、JMeterを正しく使用するために、これを読んでください book 。
JMeter Wiki JMeterが最大1000のスレッドで使用されたケースを報告します。私は最大100のスレッドでそれを使用しましたが、Wikiのリンクは私が試したことのないリソース削減を示唆しています。
WindowsでJMeterを実行する際に発生した問題の1つXPはWindows XP TCP接続制限です。制限は実行するために削除されたJMeterを使用してワークステーションの可能性を最大限に活用詳細情報 ここ 。AFAIK、他のOSには適用されません。
私は2004年からJMeterを使用しており、多くの負荷テストを開始しました。
PC Windows 764ビット4Go RAM iCore5。
JMeterは、ログファイルの結果を書き込む「集計レポートリスナー」を1つだけ使用して、Http(サンプラー)プロトコルの300から400の同時スレッドをサポートできると思います。 呼び出しページ間のタイマー。
大規模な負荷テストの場合、次のようなスレーブ(負荷ジェネレーター)を使用してJMeterを構成できます http://jmeter-plugins.org/wiki/HttpSimpleTableServer/
5000スレッドをシミュレートするために11台のPCスレーブですでにテストを行っています。
特定のサーバーで実行するパフォーマンステストの種類(負荷、スパイク、耐久性など)に依存します(ハードウェアの依存性に少し依存します)
これらのパラメータについて覚えておいてください-jmeterの実行をターゲットにしているクライアントマシンには、一定量のヒープメモリが割り当てられます。スクリプトがエラーにならないように、正常な割り当てを確保してください。 jmeterで実行した最高値はローカル環境(クライアント-サーバーArch)で1500でした。WebArchでは、実行した最高値は非機能要件に基づいており、250スレッドに制限されていました。
したがって、理想的には、パフォーマンステストの種類や展開スタイルなどに依存します。
私はJMeterを使用していませんが、答えはおそらくハードウェアによって異なります。最善の策は、パフォーマンスのメトリックを確立し、スレッドの数を推測してから、次のようにバイナリ検索を実行することです。
ソースはウィキペディアでした。
数字推測ゲーム...
このかなり単純なゲームは、「40から60までの整数を考えています。あなたの推測では、「高」、「低」、または「はい」と応答します。場合によっては」 Nが可能な値の数であると仮定すると(ここでは、「包括的」として21が記述されています)、各質問は検索スペースを半分にするため、最大で数を決定するために質問が必要です。数はすでに特定の範囲内に制限されているため、一般的なアルゴリズムよりも1つ少ない質問(反復)が必要であることに注意してください。
推測している数が任意に大きくなる可能性がある場合でも、上限Nはありませんが、最初に上限を見つけることで、ほとんどのステップ(kは(不明な)選択された数)で数を見つけることができます。繰り返し倍増することによって。たとえば、数が11の場合、次の一連の推測を使用してそれを見つけることができます:1、2、4、8、16、12、10、11
負の数を含めるように手法を拡張することもできます。たとえば、次の推測を使用して-13を見つけることができます:0、-1、-2、-4、-8、-16、-12、-14、-13
これには標準の番号はありません。 1台のコンピューターから生成できるスレッドの最大数は、コンピューターのハードウェアとOSに完全に依存します。 OSはデフォルトで一定量のCPUとRAMを占有します。
コンピューターが処理できる最大スレッド数を見つけるには、サンプルテストを準備し、数スレッドだけで実行します。次に、テスト実行の各サイクルで、スレッドの数を徐々に増やします。この間、コンピュータのCPU、RAM、ディスクI/O、およびネットワークI/Oも監視する必要があります。これらのいずれかが80%近くまたはそれを超えて到達した瞬間(ここでも、近くが問題ないかどうかを判断できます)、これはコンピューターが処理できるスレッドの最大数です。安全を期すために、リソース使用率が70%に達した時点で停止します。