web-dev-qa-db-ja.com

スタンドアロンのシングルスレッド最適化サーバーとVMWareで実行されているVM

投稿が長かったことをお詫び申し上げます。

最近、ビジネスシステムをコアの数によってライセンスされる製品に変換しました。 2コアライセンスを購入し、現在VMWareで実行しています。次のライセンスレベルに移行するには、かなりの費用がかかります。

かなり重大なパフォーマンスの問題が発生しています。ボトルネックとしてのRAMと、ネットワーク、データベース、およびディスクへのアクセスを排除しました。問題が発生する時間は、CPU使用率が高いことを常に特徴としているわけではありません。 CPU使用率が20%未満の場合もありますが、CPUReadyは高くなります。

別の物理サーバーで直接実行する可能性について考えています。私は2コアに制限されているので、入手できる最速の「シングルスレッドパフォーマンス」CPU、おそらく4コアを選択します。次に、2つのコアを使用するようにビジネスシステムを設定し、OSが残りの2つを消費できるようにします。

私の論理は次のようになります。現在、VMは2つのスレッドまたはvCPUを取得しています。これは実際には1つのpCPUだけです。ハイパースレッディングなしで同じボックスに移動した場合でも、2つのvCPUではなく2つのフルコアを取得します。しかし、シングルスレッドではるかに高速なチップを選択すると、はるかに多くの利益を得ることができます。また、仮想化を行わなくなるため、わずかな利益も得られる可能性があります。

PassMarkによると、現在の6コアCPUは次のスコアを取得しています。 CPUマーク:8570シングルスレッドパフォーマンス:1403

私が欲しい4コアプロセッサはこれらのスコアを取得します。 CPUマーク:10231シングルスレッドパフォーマンス:2287

このようなアプリケーションで最高のシングルスレッドパフォーマンスを実現するためにサーバーを構築することは理にかなっていますか?心配する必要のある短所はありますか?新しいOSは大きな違いを生むでしょうか?

現在のホストサーバーの仕様は次のとおりです。ProliantDL380G72物理CPU:Intel(R)Xeon(R)X5675 @ 3.07 GHz 6コアそれぞれ24論理プロセッサ(vCPU)に対して合計ハイパースレッディングが有効になっています。 144GBのRAM

ストレージは新しいSANにあり、パフォーマンスの問題には関与していないと確信しています。

ビジネスシステムVMは、2つのvCPUと24GBのRAMで構成されています。 OSはWindowsServer 2008R2です。ビジネスシステムソフトウェアは、IISのアプリプール内の4〜6GBのRAMで実行するように最適化されています。 VMが16GBを超えて使用されているのを見たことがありません。

また、ホスト上で他の3つのVMを実行しています。現在はほとんど何もしておらず、近い将来オフになる可能性があります。 2つのvCPUと8GBのRAMが搭載されています。

2つ目は、MSSqlデータベースを実行しています。それは8つのvCPUと64GBのRAMを持っています。 DBAに調査してもらいましたが、少なくともデータベースのパフォーマンスの観点からは、それが問題の原因であるとは感じていません。

3番目のVMは私たちの公開ウェブサイトを運営しています。 CPUでの平均は25%未満です。 3つのvCPUと16GBのRAMが搭載されています。

繰り返しになりますが、あなたが提供できるどんな助けや知恵も素晴らしく、大いに感謝されます。

ありがとう!

3
JohnM2092

あなたはあなたの仮定が正しいです。特定のケースでは、vCoreの代わりにMhzをスタックするのが正しい方法です。これを見てください プロセッサー :( 4x 3,5-3,7Ghz物理コア+ HTを備えています)。

ただし、実際の「CPU Ready」値を提供できない限り、あなたが説明した内容から実際の問題を確認することはできません。

5
Strepsils

いくつかのこと;

1)VMが実際に必要とする数のvCPUに制限するようにしてください。これは、VM)がある場合、VMwareESXiのリソーススケジューラと関係があります。 = 8つのvCPUの場合、VMのクロックサイクルを実行するために、指定された時間に8つのコアが空いている物理CPUでタイムスロットを見つける必要があります。したがって、CPUごとに6つのコアがある場合、スケジューラーはでタイムスロットを見つける必要があります。両方のpCPUは、基本的に他のすべてを保留にします。VMは、物理マシンのように継続的に実行されるわけではなく、クロックサイクルの間に「フリーズ」され、スケジューラーがVMの維持に問題を抱えている場合、VMの「フリーズ」にかかる時間がますます長くなります。 。SQLVMで巨大なデータベースを実行していない場合は、vCPUを6に下げてみて、改善されないかどうかを確認してください。通常、デフォルトで1つのvCPUを実行し、より大きなVMでは2つ、一部のVMでは最大4つを実行します。大規模なデータベース。これ以上追加する必要はありません。

2)VMwareのハイパースレッディングを忘れてください。VMwareによるいくつかのテストによると約10%のパフォーマンスが少し向上するため、そのままにしておきますが、ハードウェアを指定するときに2倍のパフォーマンスを期待しないでください。

3)クロックレートが速いCPUを使用すると、シングルスレッドのパフォーマンスが速くなりますが、コアが少ないと、より多くのVMを実行する能力が低下します。 VMwareがホスト上のすべてのコアのすべての速度の総計を表示するのには理由があります。これは基本的にESXiがCPUを計算能力の総計プールとして認識する方法です。

1
Stuggi