質問

いたソフトを展開Windows2003server.のソフトウェアとして運行しサービスを継続的にのみ適用のウィンドウボックスの重要性です。一部の時間で取得データからのインターネットの一部の時間で行なっているのか計算に関するデータです。このマルチスレッド--使いのスレッドプールの約4-20す。

んですが、穴またもの"というとしていることで、よりスレッドのプールは、並行作業が発生し、CPU使用が高まります。()などの需要その他の資源のような帯域幅がきれいに書いてあるとされることもありませんっ--私たっぷり)

私の質問は、この:べってみては最大のCPUにバーンのための私の降圧?直感的には思えないことは、あってはならないことで実行で100%CPU;でも95%CPUのように高く、ほとんどのようないわけではないことがわかるのOSいスペースなどが必要です。わからない方法、上達するためのコツなどをベストバランス。私は推測しに測定でき、測定、その最高スループットが実現でCPUの平均利用の90%以91%。が---

私は疑問があれば良い経験則この???いることによる私の試験に配慮したすべての種類のバリエーションのワークロードをむしろ遊びとの安全なも安全かっunderusing私のしているページがあります。

ら何がお勧めですか?何がスマートに、開放的なルールの利用のためのマネジ付き、複合荷重(一部のI/Oは、CPU)用Windows?

役に立ちましたか?

解決

うん、私は100%ので、すべての時間そのように実行中のプロセスを見たいと思っていないでしょうスラッシングされることをお勧めしたいです。私はいつもスパイク/アドホックプロセスの使用率と部屋の間のバランスを得るために80%を目指してきました。

私は過去に使用したアプローチは、(両方のCPU上や、IOなどの他の制約上)ゆっくりとプールサイズをクランクアップし、影響を測定することである、あなたが知っていることはありません、あなたは突然、IOがボトルネックになることがありますます。

他のヒント

CPU使用率が問題で、この私に/集中的なワークロードoを、あなたはとても<のhref =「http://en.wikipedia.org/wiki/Hill_climbing」のrel = "nofollowをnoreferrerを使用してみてください、スループットを気にしてはいけません「>丘ワーカースレッドを削除/注入をプログラムしようとすると、完了の進行状況を追跡し、基本的なアプローチを登ると...

あなたがスレッドを追加し、それが助け場合は、

、別のものを追加します。あなたがスレッドを試してみて、それはそれを削除痛い場合ます。

結局、これが安定します。

これは、.NETベースのアプリケーションである場合、

、山登りは、.NET 4スレッドプールに添加した。

UPDATE:

山登りは、スループットを最大化する制御理論に基づくアプローチである、あなたがしたい場合、あなたはそれ試行錯誤を呼び出すことができますが、それは健全なアプローチです。オーバーヘッドと待ち時間がそんなに変わるので、一般的には、それが一般化することはできません本当に、ここに従うための良い「経験則」がありません。焦点は、スループット&タスク/スレッドの完了ではなく、CPUの使用率にする必要があります。例えば、それは粗いか細かい粒度の同期で、かなり簡単にコアをペグが、実際のスループットの違いをしないために非常に簡単です。

あなたがParallel.ForまたはParallel.ForEachとしてあなたの問題をリフレームすることができます場合は、

また、.NET 4については、その後、スレッドプールを使用すると、この心配する必要はありませんので、スループット最大化するために、スレッドの数を調整します。

-Rick

マシン上で OS が実行されること以外に重要なことは何もないと仮定します。

負荷は一定なので、CPU 使用率 100% を目指す必要があり、それ以外はすべて CPU の無駄です。OS が実際に実行できるようにスレッドを処理することを忘れないでください。正常に動作するプログラムで OS を枯渇させるのは困難です。

ただし、負荷が変動し、ピークが予想される場合は考慮する必要がありますが、その負荷がどのように変化するか、どの程度の CPU が必要になるかを正確に把握していない限り、80% CPU を使用するのが適切なしきい値だと思います。正確な数値を狙うことができます。

あなたは、単にあなたのスレッドが低い優先順位を与える場合は、OSが残りの作業を実行します、そして、それが作業を行う必要があるとして、サイクルを取ります。 Server 2003の(そしてほとんどのサーバのOS)、この時の非常に良いの自分を試してみて、それを管理する必要はありません。

も80%は原則としての親指を対象CPU利用するとしてその先ほども少し触れましたが、このように一部のフック間最小距離のための散発的にスパイク活動やめたならもう放送すんな詰のCPUを搭載しています。

こちらはちょっと古いものの関連する援助のWeblogic乗務員はこの問題: http://docs.oracle.com/cd/E13222_01/wls/docs92/perform/basics.html#wp1132942

だロードがとっても、予測可能ですがpush対象とした高がない限りお客様のユーザ基盤は非常に耐性を定期的に遅い応答とプロジェクトの予算は非常に厳しくされています。を加え、より多くの資源をシステムを追加CPU、CPUよりコアなど) 以上の作成リスクに移動してみるカントリーリスク10%でCPU使用率の既存の。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top