ESXホストがあります。
2 CPU x 8コアがあり、HTが有効です。つまり、合計16個の物理コアまたは32個の論理コアです。
単一の専用SQL VM(このホストでは他のVMは実行されていません)があり、16個のvCPUが割り当てられています。
sQL NUMA構成は次のようになります。
これらの16個のvCPUが1つのCPU内の16個の論理コアにマップされ、さらに16個の論理コアを含む他のCPUがアイドル状態にあることを意味しますか?
32 vCPUに増やすと違いがありますか?
私はこれを見つけました article 、つまり、論理コアに関係なく、実際の物理コアよりも多くのvCPUを割り当てないようにしています。何故なの?
一般に、割り当てられたvCPUを物理コア(HTは無視)以下に保つと、安全に再生できます。それぞれ8コアの2つの物理CPUがあります(ただし、E5-2667には6つあることを覚えています)。これは、16個の真のコアを意味します。これ以上割り当てる必要はありません。あなたのような多くの状況では、CPU能力ではなくRAMが不足する可能性が高いことに注意してください。
彼らがそれを推奨しない理由は、ハイパースレッディングがVMwareでどのように機能するかというと、計算能力の2倍ではないためです。したがって、物理コアよりも多くのvCPUを定義しないでください。その巨大なVMがそのホストで単独ではない場合、そのVMのクロックサイクルが実行されている間、他のVMで他のVMで発生することはほとんどないことに注意してください。その単一のVMは、利用可能なすべてのコアを消費します。16コアのすべてが利用可能ではない場合、実行されません。
MSSQLはプロセッサを独占し、正当な理由があります。また、HTはプロセッサの負荷を分割するだけで、コンピューティングを2倍にすることはないため、HTの有効性が低下します。高パフォーマンスのSQLサーバーを実行する場合は、vSphereでコアアフィニティルールを割り当て、他のVMがそれらのコアに対して実行されないようにすることを検討してください。仮想化の目的に反することは知っていますが、それでもいくつかの利点があります。