web-dev-qa-db-ja.com

1つまたは2つのvCPU間のvCPUパフォーマンス

仮想化(主にVMware)内で、4コアの1 CPUと2コアの2 CPUのどちらを使用してもパフォーマンス上の利点はありますか? VMで実行されているアプリケーションが2つのCPUを使用できると仮定します。

7
esx_admin18

影響を与えるほど十分ではありません。調整はライセンスのためのものです。たとえば、Windows Serverはプロセッサスロットごとにライセンスが付与されるので、1 CPUと4コアよりも1コアと4 CPUの方が高くなります。

同じことが他の製品にも当てはまりますが、プロセッサの数が増えるとコストがすぐに上がります(Oracleを見てください)。

9
Nathan C

短い答え:おそらくあなたは気付かないでしょう。

長い答え:多分。何よりもまず頭に浮かぶのは、最近のCPUは、使用するメインメモリよりもはるかに高速に動作することです。これが NUMA(non-uniform memory access) が発明された主な理由です。同じダイ上のCPU(たとえば、同じチップ上の2つのコア)は同じNUMAノードを共有します。また、両方がこのノードから別のNUMAノードからメモリにアクセスするよりも速くメモリにアクセスします。したがって、多くのコアの多くの物理プロセッサを搭載するコンピューターを構築する場合は、NUMAノードの局所性に注意してください。プロセッサが遠くにあるメモリにアクセスする必要がある場合、速度は遅くなります。

お使いのマシンにプロセッサが1つまたは2つしかない場合、NUMAは問題になりませんが、とにかく、完全を期すために触れておきます。

5
Ryan Ries

すべきではないここでは違いがありますが、シングルコアのマルチソケットエミュレーションを使用すると(たとえば、4つのvCPUが4つのソケットとしてマッピングされている場合)、ベンチマークでWindowsゲストのパフォーマンスがわずかに(それでもクリーンに)向上しました、シングルコア、シングルスレッド)。 Linuxゲストでは目に見える違いはありません。

テストはKVM上で行われ、Linux 2003側ではWindows 2003R2および2008R2ゲストとRHEL5およびRHEL6ゲストを使用しました。私の推測では、Windowsは複数のソケットでExcelを実行したり、複数のコアで失敗したりする追加のスケジューリングトリックを実行しようとします。

5
dyasny

ここで大きな違いはありません。コア/ソケット指定の主な目的は、「物理」ソケットまたはCPUコア(咳、データベース...)の数に基づいて、ランタイムまたはライセンス要件を持つソフトウェアのオプションを提供することです。

1つのソケットの複数のコアと複数のソケットの組み合わせの間に大きなパフォーマンスの違いはありません。IS仮想マシンのCPUホットアド機能を有効にするか、必要とする場合、動作にわずかな違いがあります( Enterprise以上のライセンスがある場合)。

CPUホットアドの場合は、コアではなくソケットの増分で追加します。4つのコアを持つ単一のソケットがある場合、vSphereでのCPUホットアド操作により、2つのソケットと8つのコアに移動します。

または、2コアの2つのソケットがある場合、ホットアドにより3つのソケットと6つのコアが表示されます。

参照: VMware ESXi 5.xでは、2つのCPUコアと2つのCPUソケットを選択すると違いがありますか?

3
ewwhite