できるだけ多くのスレッドを使用して (コンピューターの使用量を減らすため)、クライアントにボトルネックを発生させないようにしたい。
9 に答える
JMeter は、正しく使用すれば、非常に高い負荷をシミュレートできます。
JMeter は高負荷を処理できないという都市伝説に耳を傾けないでください。
答えは次のとおりです。
あなたのマシンパワー
あなたのjvm 32ビットまたは64ビット
jvm に割り当てられたメモリ -Xm
あなたのテスト計画 (多くの beanshell、ポスト プロセッサ、xpath ... は多くの CPU を意味します)
あなたのOS構成(調整可能)
GUI/非GUIモード
したがって、理論的な答えはありませんが、ベスト プラクティスに従うことで、JMeter のパフォーマンスが確実に向上します。
jmeter を使用すると、リモート テストを通じて負荷を分散できることに注意してください。
最後に、十分でない場合はクラウド ベースのテストを使用します。
チューニングのヒントについては、次をお読みください。
負荷テストを行い、JMeter を正しく使用するには、この本をお読みください。
私は JMeter をかなり使用しましたが、非常に高い負荷を生成するのは得意ではありません。2Gb メモリを搭載した 2Ghz Core2 Duo では、約 100 スレッドを期待できます。
そうは言っても、PC の CPU が 100% でピークに達しないように、ハードウェアで実行するのが最善です。安定した 80% ~ 90% が最適です。そうしないと、結果が影響を受けます。
WAPT 5も試しました。同じ PC から 1000 以上のスレッドを正常に実行しました。無料ではありませんが、JMeter よりも使いやすいですが、すべての機能を備えているわけではありません。
少なくともバージョン 2.6 以降の古い回答は、最新のものについてはhttps://stackoverflow.com/a/11922239/460802を参照してください。
Windows XP で JMeter を実行する際に発生した問題の 1 つは、Windows XP の TCP 接続制限でした。JMeter を使用してワークステーションの可能性を最大限に引き出すには、制限を削除する必要があります 詳細情報はこちら。私の知る限り、他のOSには適用されません。
私は JMeter を使用したことはありませんが、答えはおそらくハードウェアによって異なります。最善の策は、パフォーマンスのメトリックを確立し、スレッド数を推測してから、次のように二分探索を実行することです。
ソースはウィキペディアでした。
数当てゲーム...
このかなり単純なゲームは、次のようなものから始まります。場合によっては。」N が可能な値の数 (ここでは、「包括的」として 21 が示されています) であると仮定すると、各質問は検索スペースを半分にするため、その数を決定するために多くても質問が必要です。数が特定の範囲内に収まるようにすでに制約されているため、一般的なアルゴリズムよりも必要な質問 (反復) が 1 つ少ないことに注意してください。
推測している数が任意に大きくなる可能性があり、その場合は上限 N がなくても、最初に上限を見つけることによって、最大ステップ数 (k は (未知の) 選択された数) で数を見つけることができます。倍加を繰り返すことで。たとえば、数字が 11 の場合、1、2、4、8、16、12、10、11 という一連の推測を使用して見つけることができます。
この手法を拡張して、負の数を含めることもできます。たとえば、次の推測を使用して、-13 を見つけることができます: 0、-1、-2、-4、-8、-16、-12、-14、-13
実行するハードウェアと基礎となるスクリプトによって異なります。このあいまいさが、従来の負荷テスト ツールの最大の問題であると常に感じていました。予算が少ない場合 (200 ドル程度で多くのテストを行うことができます)、私の会社の負荷テスト サービスである BrowserMob をチェックしてください。
パフォーマンスと負荷テストの目的で実際のブラウザーで数千人を制御するリアル ブラウザー ユーザー (RBU) の他に、従来の仮想ユーザー (VU) もいます。スクリプトは JavaScript で記述されており、さまざまな HTTP 呼び出しを行うことができます。
私がこれを持ち出す理由は、load gen ハードウェアに適合できる VU の数を把握しようとするゲームは危険だと常に感じていたからです。気づかないうちに悪い結果を得るのはとても簡単です。
BrowserMob ではこれを解決するために、CPU コアあたりの VU と RBU の数について非常に保守的なアプローチを採用しました。CPU コアあたり 1 ブラウザまたは 50 スレッド以下、場合によってはそれ以下です。クラウド コンピューティングの世界では、CPU サイクルが非常に安価であるため、マシンに過負荷をかけようとしても意味がありません。