2011-08-04 8 views
6

サーバーを100%CPU使用率で実行すると問題が発生するか、それともCPU使用率が良好ですか?サーバーを100%CPU使用率で実行すると問題が発生するか、それともCPU使用率が良いのでしょうか?

私のサーバーには、8時間の物理コアが100%近くの「営業時間」/ 10時間ごとに常時稼働しています。

プログラムは8スレッドで実行するように設計されており、完全に使用されています。パフォーマンスは良いですが、インフラストラクチャの人たちは "最大限のサーバー"について心配しています

私はそれが利用可能なリソースを利用するだけでよいと思います。すべてが完全に利用されていない場合、コアがたくさんある点は何ですか?

+1

これはなぜ閉鎖されているのですか?これはプログラミングの質問ではないようですが、***はプログラミング上の疑問です*** - 分散プログラムがタスクに対応しているかどうかを判断する方法です。 – sharptooth

+0

アプリと負荷に関する多くの情報なしで言うことはできません。応答時間の要件はありますか?負荷は非常に予測可能ですか?サーバーは常に有用な仕事をしていますか、あるいは何らかのCPUが高頻度のポーリングを使用していますか? –

+2

いいえ、それはアプリケーション用のハードウェアのプロビジョニングです。 – bmargulies

答えて

5

これまでのすべての回答は、この問題のソフトウェア面に焦点を当てています。私は、OPがこのような高いCPU使用率を持つことがサーバーのハードウェアの信頼性に影響を与えるかどうかを知ることに興味があると思う。あるいは、少なくとも私は、私が物事のこの側面のかなり正確な視点を与えることができると感じています。

サーバの多くのコンポーネントの信頼性は、温度に大きく依存します。この点で、低負荷のサーバーはおそらく低速で実行され、障害の可能性は低くなります。しかし、CPUが冷却システムの最大許容温度(PC上では60ºC)に達すると、冷却システムが60ºCを超えることを避けるために冷却システムが温度を調整するため、高負荷でも信頼性はそれほど低下しません。冷却システムがファンをより早く動かし、ファンの故障の可能性を高めることは事実です。このような高負荷では、熱がエンクロージャから効果的に取り出されないと、サーバ全体が高温になり、他のコンポーネントに影響を及ぼします。これに大きな影響を与える部品は電解コンデンサですが、他の部品も影響を受けます。

一般に、はい、どのマシンでも実現可能性は、そのマシンのオーバーサイズまたは安全率に大きく比例します。電子システムの信頼性を計算する正式な方法はたくさんありますが、最もよく知られているのがMIL-HDBK-217F信頼性ハンドブックですが、他にも多くのものがあります(Telcordiaなど)。 Reliability engineeringは、複雑さが深く、奥行きがあり、魔法のビットがある対象です。

私は、このトピックに関する少しの洞察を与えることができたと思います。

2

負荷がどこから来るかによって異なります。負荷が成長しないデータであれば、大丈夫です。できるだけ早く処理しています。それは良いことです。

しかし、サーバがStackOverflowのようなもので、顧客の要求に応えているような負荷が外部から来た場合、要求はほぼリアルタイムで処理できる必要があるため、これはもう同じです。販売を発表した後に負荷が増えるとどうなるか考えてみてください。ほとんどの場合、リクエストの一部が削除され、他のリクエストは処理が遅くなります。

1

サーバーは何をしていますか?

  • 数学的な問題を解決すれば、あなたが得るすべての処理を望むよりも、
  • 彼らは、実際のユーザーにサービスを提供した場合、ユーザーベースがさらに10%

によって成長したら、それは壊れないように、あなたは、時折ピークのビットの部屋を持っている場合があります:CPUは何をしますか?彼らは本当にそれほど多くを計算しなければならないのは妥当でしょうか?どのくらいのI/Oを関与させるべきですか?

私が見てきた経験則は最大80%の負荷平均を標的とすることである - あまりあなたはほとんど例外なく、高い使用率のピーク

10

を期待するならば、それは問題が発生し、または要求として(道の問題が発生します成長する)。 Webサービスサーバー上のCPU使用率が100%では不十分です。

CPUの使用率が100%の場合は、サーバーが新しい要求を取得するたびに、サーバーがサーバーを起動するまでに一定の時間待機する可能性が100% 。

典型的なパフォーマンススイートスポットは約70%です。それは低いと思いますか?その場合、70%の使用率がCPUの30%が無駄になっているわけではないことに注意してください。代わりに、CPU容量の70%がのサンプル期間にわたってで使用されたことを意味します。 CPU測定メトリックの場合、サンプル期間は2秒のようなものです。その2秒間に、その70%の内訳は不均一です。つまり、1秒間に100%、1秒間に40%のようなものになる可能性があります。このような短いバーストでの100%の使用はOKです。作業の一部が遅れている場合は、短期間だけです(それを待っている人間を待たせないもの)。

0

1つは、CPU使用率が低いため電力消費量が少なくなります。高負荷でない場合、CPUは自動的に周波数を下げます。

また、CPU使用率が比較的低いということは、各タスクができるだけ少ない回数だけ中断されるため(遅延が大きくなります)、CPU負荷が多いとコンテキストスイッチが多く発生するためです。

また、データベースサーバー、Webサーバー、電子メールサーバーなどの複数のアプリケーションを実行する必要がある場合、CPU使用率が低いとすべてのタスクのための余裕ができます。

は驚くべきことに、そのアーキテクチャと実装に関するHTTPサーバbewteen大きな違いは、正しい選択は、お金を節約するのに役立ち、早期ハードウェア障害を避けるために、低いレイテンシで、ユーザーを喜ばせることが作るhttp://goo.gl/Ha2rt

を参照してください、があります。

関連する問題