虛擬機性能取決于配置的合理性—確保虛擬機獲得足夠多的時鐘周期、內存空間以及IO帶寬。當配置錯誤或者計算需求增加導致虛擬機出現資源緊張狀況時,虛擬機性能及穩定性可能會受影響。很多IT管理員為虛擬機配置了過多的計算資源,以確保在處理峰值請求時不會存在資源短缺情況。盡管過量配置通常沒有什么壞處,但存在資源浪費。然而,存在過度配置vCPU實際上會對虛擬機性能帶來不利影響的情況。
資源配置的目標是為虛擬機分配足夠多的計算資源以使其能夠正常運轉,但這并不意味著要過度分配計算資源。資源過度分配是一種浪費,就CPU而言,過度分配可能會影響虛擬機性能。
問題出在調度上,hypervisor必須調度vCPU的計算資源供虛擬機使用。當虛擬機使用一個vCPU時并不存在沖突,但當虛擬機使用的多個vCPU分布在兩個或多個核心上時,hypervisor必須在兩個或多個物理處理之間進行調度。這意味著hypervisor及其正在調度的虛擬機必須等待不同物理處理器核心的響應。
如果虛擬機針對對稱多處理器(SMP)而設計,那么沒什么問題,而且hypervisor廠商像VMware提供了SMP附加組件,允許SMP工作負載高效、成功地調度并使用多個vCPU。
但是對于沒有專門針對SMP設計的常見的單線程工作負載,虛擬機的工作負載可能會浪費時間等待hypervisor對多個vCPU進行調度,這肯定會降低虛擬機性能。在這種情況下,為虛擬機配置一個vCPU實際上能夠提升工作負載的性能。管理員必須擅長為工作負載分配vCPU并識別出vCPU資源分配不合理的情況。