Jmeter で同時に実行するのに適切なスレッドの最大数はどれくらいですか?

StackOverflow https://stackoverflow.com/questions/765101

質問

(使用するコンピューターを減らすために) クライアントにボトルネックが発生しないように、可能な限り多くのスレッドを使用したいと考えています。

役に立ちましたか?

解決

私はJMeterのに公平なビットを使用し、それが本当に高い負荷を生成で素晴らしいではありません発見しました。 2GBのメモリを搭載した2GHzのCore2のデュオでは、あなたは、合理的に、約100のスレッドを期待することができます。

安定した80%-90%はそれ以外の結果が影響を受けているが最適です。

-

言われて、それはPCのCPUが100%でピークしないように、ハードウェア上でそれを実行するのが最適であること

私も試してみました WAPT 5 に - それは成功し、同じから1000 +のスレッドを実行しましたPC。それは無料ではないですが、それはJMeterのより使用可能ですが、すべての機能を持っていません。

  

のために、少なくともバージョン2.6を参照 https://stackoverflow.com/a/11922239/460802 のため、答えを時代遅れ日付1まで以上。

他のヒント

JMeter は、正しく使用すれば、非常に高い負荷をシミュレートできます。

聞かないでください 都市伝説 つまり、JMeter は高負荷を処理できないということです。

さて、答えは次のとおりです。

  • あなたのマシンパワー

  • JVM 32 ビットまたは 64 ビット

  • JVM に割り当てられたメモリ -Xmx

  • テスト計画 (多くの Beanshell、ポストプロセッサ、Xpath ...大量のCPUを意味します)

  • OS 構成 (調整可能)

  • GUI / 非 GUI モード

したがって、理論的な答えはありませんが、次のようになります ベストプラクティス これにより、JMeter が適切に動作することが保証されます。

jmeter を使用すると、リモート テストを通じて負荷を分散できることに注意してください。以下を読んでください。

それが十分でない場合は、最後にクラウドベースのテストを使用します。

チューニングのヒントについては、これをお読みください。

これを読む 負荷テストを実行し、JMeter を正しく使用するために。

のJMeterが同じくらい1000のスレッドで使用したレポートの例に。私は、最大で100個のスレッドでそれを使用していますが、ウィキ内のリンクは、私が試したことがないリソースの削減を示唆しています。

私たちは、Windows XP上でのJMeterを実行しているとしていた問題の一つは、Windows XPのTCP接続制限でした。リミットは、ワークステーションの能力を最大限にJMeterの使用を実行するために除去しなければなりません 詳細情報こちらに。私の知る限り、他のOSには適用されません。

私は 2004 年から JMeter を使用し、多くの負荷テストを開始しました。

PC Windows 7 64 ビット 4Go RAM iCore5 を搭載。

JMeter は 300 ~ 300 をサポートできると思います。 400 HTTP (サンプラー) プロトコルの同時スレッド。ログ ファイルに結果を書き込む「集約レポート リスナー」が 1 つだけあり、 タイマー 通話ページの間。

大規模な負荷テストの場合は、次のようにスレーブ (負荷ジェネレーター) を使用して JMeter を構成できます。http://jmeter-plugins.org/wiki/HttpSimpleTableServer/

すでに 11 台の PC スレーブを使用して 5000 スレッドをシミュレートするテストを行っています。

私はJMeterのを使用していないが、答えはおそらくあなたのハードウェアに依存します。最善の策は、パフォーマンスの測定基準を確立するスレッドの数を推測して、次のようにバイナリ検索を実行するかもしれません。

ソースはウィキペディアだっます。

数を推測ゲーム...

このかなり単純なゲームは、私が40と60までの整数と思っていますし、あなたの推測に私は 『低』、 『高』の応答、またはよ」のようなものから始まる 『はい!』ケースかもしれません。」各質問は、探索空間を半減するので、Nは可能な値の数(ここでは、二十から一「包括的」などが記載された)とすると、その後、ほとんどの質問では、数を決定するために必要とされています。番号が既に特定の範囲内にあるように制約されるので、一般的なアルゴリズムのより必要とされる1つの少ない質問(反復)に注意してください。

私たちは推測している数は何の上限Nが存在しない、その場合には、任意に大きくすることができたとしても、我々はまだ最初の発見によって(kは(不明)選択した数である)、ほとんどの段階での数字を見つけることができます繰り返し倍増によって上限。数が11であれば、例えば、我々はそれを見つけるために、推測の次のシーケンスを使用することができる:1、2、4、8、16、12、10、11

1つはまた、負の数を含むように技術を拡張することができ。例えば、次の推測を見つけるために使用することができる-13:0、-1、-2、-4、-8、-16、-12、-14、-13

これは、特定のサーバー上のあなたが行うパフォーマンステスト(負荷、スパイク、持久力など)(ハードウェア依存性にはほとんど)

の種類により依存しています

これらのパラメータの周りに注意してください - スクリプトがエラー出力しないようにあなたがJMeterのの実行をターゲットとされているクライアントマシンは、ヒープメモリ割り当てられた特定の量があるだろう、健康的な割り当てを持っていることを確認。私はJMeterの上で実行していた最高のは、ローカル環境(クライアント - サーバアーチ)に1500だった私はランが250件のスレッドに限られていた非機能要件に基づいていた持っていた最高の、ウェブアーチで、

それは、理想的には、パフォーマンス・テストおよび展開のスタイルの種類に依存し、その上..

このための標準的な数がありません。 1台のコンピュータから生成できるスレッドの最大数は、コンピュータのハードウェアやOSに完全に依存します。デフォルトでは、OSはCPUとRAMの一定量を占めています。

最大スレッド数を調べるには、コンピュータを使用すると、サンプルテストを準備し、わずか数のスレッドでそれを実行することができます扱うことができます。そして、テスト実行の各サイクルとともに徐々にスレッドの数を増やします。この中に、また、お使いのコンピュータのCPU、RAM、ディスクI / OやネットワークI / Oを監視する必要があります。これらのいずれかが近く、または80%を超えて達する瞬間は、それはあなたのコンピュータが処理できるスレッドの最大数です(ここでも、あなたは近くを越えて、あなたやのために大丈夫かどうかを判断するため)。より安全側にあるために、私は、リソースの使用率が70%に達した数で停止します。

それはあなたが実行し、ハードウェアだけでなく、基本的なスクリプトに依存します。私はいつも、この曖昧さは、従来の負荷テストツールの最大の問題であることを感じていました。あなたは小さな予算($ 200又はそうあなたは多くのテストを取得します)持っていれば、私の会社の負荷テストサービス、BrowserMobます。

パフォーマンスと負荷テストの目的のために、実際のブラウザ上で何千もの制御私たちの本当のブラウザのユーザー(RBUS)に加えて、我々はまた、伝統的な仮想ユーザー(VU数)を持っています。スクリプトはJavaScriptで書かれており、様々なHTTP呼び出しを行うことができます。

私はそれを持ち出す理由は、私はいつもあなたの負荷世代のハードウェアに収めることができますどのように多くのVU把握しようとのゲームは危険であると感じたということです。それは、それを実現することなく、悪い結果を得るためにとても簡単です。

1ブラウザやCPUコアあたり50件のスレッドよりも多くの、そして時にははるかに少ない:

BrowserMobのためにそれを解決するために、我々は、CPUコアあたりのVUとRBUSの数に非常に保守的なアプローチを取っていません。クラウドコンピューティングの世界では、CPUサイクルは、それだけのマシンをオーバーロードしようとするのは意味がないように安いです。

scroll top