VMware有識者さま
いつもお世話になっております。
物理CPUの違いによる、仮想マシンの性能についてご質問させてください。
現状vSphere5.5環境(ESXi5.5/vCenter5.5 u3h)を利用中です。
※今年中に、vSphere6.5へのアップデートを計画しております。
サーバのCPUとして以下の環境となっている場合、仮想マシンの処理性能は変わりますでしょうか?
・Xeon E7-4870 2.4GHz
・Xeon E5-2667v4 3.20GHz
単純に物理サーバとして考えると、CPUの世代が変わることでクロック当たりの処理性能が上がるため
同じクロック数だとしても処理性能は向上すると考えております。
一方、vSphereが介在することで考え方が異なると考えております。
理由としては、仮想マシン事態が「Intel BX440」ベースのチップセットをエミュレートすることになるため
処理性能が平準化されるのではと考えております。
このため、クロック数が上がると処理性能が向上すると考えますが、vCPUの制限値を「2.4GHz」と設定すると
処理性能は変わらないのではと気にしております。
また、これらの物理サーバをEVC設定(Sandy-Bridge設定)をしたクラスタに混在させている場合だと物理CPUの
性能差は考慮しなくても良いのでは?と思っております。
これらの考え方について、お分かりになる方のアドバイスをお願い致します。
だいぶ前にEVCを有効にした実機で確認した事がありますが、
古い世代のCPUの物理サーバ上のVMでベンチマークソフトを稼働させ(その際はDVDStore2)、リソース制限をかけた時・かけなかった時でそれぞれ、
新しい世代のCPUの物理サーバにvMotionで移動させ、処理能力が向上していることを確認しました。
CPUの性能はクロック数はここ10年ほどは頭打ちで、内部のメモリ処理、
クロック当たりの処理性能(Instructions per cycle : IPC などでググると出てきます)を向上させ、
同じクロックでも処理能力が高くなっています。
数世代差が開いていればその値も大きく違っています。
Specintなどのベンチマークサイトのスコアも、同じベンチマークテストでも、CPU世代間で1クロック当たりのスコアがだいぶ違うので、
異なる世代のCPUの性能差をサイジングする際の参考値に出来ます。
ざっくりと説明すると上記のような感じですが、
ちょっと前の資料でだいぶディープなものですが、以下のが参考になるかと思います。
Virtualizing Performance Counters – VMware Labs
また、一昨年無償公開された以下のドキュメントにもほんの少しだけ記載があります。
VMware vSphere 6.5 Host Resources Deep Dive
https://pages.rubrik.com/host-resources-deep-dive_request.html
ご参考まで。
こんにちは。
kawaman さんの返信のとおり、CPUやハードウェアの性能向上したぶん、
仮想マシンの性能も向上します。
あわせて、EVCについて補足します。
また、これらの物理サーバをEVC設定(Sandy-Bridge設定)をしたクラスタに混在させている場合だと物理CPUの
性能差は考慮しなくても良いのでは?と思っております。
EVCについては、CPUのクロック速度やキャッシュサイズはそのままで、
CPUのもつ機能のみをマスクすることになっています。
そのため、EVCを設定しても新旧CPUの性能差はそのままになります。
ドキュメントですと、下記のあたりの解説が参考になります。
Enhanced vMotion Compatibility について
EVC は、vMotion の互換性に影響を与えるプロセッサ機能のみをマスクします。EVC を有効にしても、より高速なプロセッサの利用、CPU コア数の増加、または最新のホストで利用可能なハードウェア仮想化のサポートといったメリットを仮想マシンは活用できます。
以上です。ご参考まで。