虛擬機資源涉及多個方面:CPU、內(nèi)存、網(wǎng)絡(luò)以及磁盤。在規(guī)劃虛擬機時應(yīng)該考慮這些資源之間的關(guān)系,否則,分配的資源 不合理將導致虛擬機內(nèi)的應(yīng)用程序性能表現(xiàn)不佳。
虛擬機每個vCPU只運行在一個物理核心之上,因此CPU頻率越高虛擬機的運行速度也就越高,vCPU數(shù)量越多有助于提升應(yīng)用的性能表現(xiàn)。如果虛擬機需要占用大量的CPU時間,那么可以考慮為虛擬機分配第二個vCPU,但是,為虛擬機分配兩個以上vCPU并不一定讓應(yīng)用運行的更快,因為只有多線程應(yīng)用才能有效地使用多個vCPU。
RAM資源通常有限,因此在給虛擬機分配RAM時需要格外小心。物理內(nèi)存被完全用完后,必須確定哪些虛擬機能夠保留物理內(nèi)存,哪些虛擬機要釋放物理內(nèi)存。這稱之為“內(nèi)存回收”。當虛擬機占用的物理內(nèi)存被回收后,存在的一個風險就是會對虛擬 機的性能造成影響。虛擬機被回收的內(nèi)存越多,相應(yīng)的風險也就越大。 [10] 最明智的是只為虛擬機分配完成工作所需要的內(nèi)存。分配額外的內(nèi)存將會增加回收風險。另一方面,當虛擬機操作系統(tǒng)將未被使用的內(nèi)存用作磁盤緩存時,將會顯著降低對磁盤系統(tǒng)的性能要求,所以這里有一個折衷問題。
網(wǎng)絡(luò)帶寬包括兩個方面:一是虛擬機和虛擬交換機之間的帶寬,二是虛擬交換機與外部網(wǎng)絡(luò)之間的帶寬。對于與外部物理網(wǎng)絡(luò)的連接,一定要確保主機具備速度最快的物理網(wǎng)卡。進行大量網(wǎng)絡(luò)傳輸?shù)奶摂M機,虛擬機以及數(shù)據(jù)包的傳輸都會消耗CPU時間。因此,運行在CPU受限的服務(wù)器之上的虛擬機由于CPU無法快速響應(yīng)請求可能會面臨網(wǎng)絡(luò)吞吐量不高的情況。
磁盤性能往往是無聲的性能殺手。虛擬機磁盤性能受陣列磁盤數(shù)量、類型以及運行在其上的虛擬機的數(shù)量的限制。因為集中地共享存儲架構(gòu)將導致通過同一位置訪問所有的虛擬機磁盤,陣列的存儲控制器以及磁盤過載情況很容易出現(xiàn),只剩下虛擬機在 等待存儲的響應(yīng)。 [10] 虛擬機等待磁盤IO、虛擬機CPU空閑對性能的影響有很大不同。等待IO的虛擬機無法做其他工作,因此高I/O等待時間意味 著性能肯定會下降。進行周密的存儲設(shè)計以避免上述情況的發(fā)生至關(guān)重要。 [10] 合理選擇磁盤 提升虛擬機性能。在虛擬化中,hypervisor將工作負載從運行在底層的物理硬件中抽象出來,允許快速分配并共享計算資源,遷移工作負載。盡管hypervisor以及與虛擬化兼容的處理器性能開銷很小,但是虛擬化層的存在卻對性能有影響。 [10] 當磁盤性能對工作負載至關(guān)重要時,某些管理員可能會選擇以直通模式配置LUN,允許虛擬機的操作系統(tǒng)繞過hypervisor與直接LUN進行通信。例如,Windows服務(wù)器虛擬機可能使用直通模式繞過Hyper-V直接訪問磁盤,這對SQL Server數(shù)據(jù)庫的性能有些許提升。然而,由于客戶操作系統(tǒng)(采用直通模式)以及hypervisor試圖同時訪問磁盤,那么hypervisor必須被配置為忽略直通LUN。 [10] 直通模式存在的問題是其不被某些重要的虛擬化功能比如虛擬機快照或者集群所支持。因此,虛擬機在實際上可能會受益于虛擬化提供的各種功能特性而非采用直通模式所帶來的處于邊緣地位的性能提升。管理員需要評估虛擬機的需求并確定直通模式的適宜性。 [10] 除直通模式外,Hyper-V以及其他hypervisor還提供了其他磁盤存儲選項。例如,當.VHD文件被創(chuàng)建時,大小固定的磁盤將分配所有的數(shù)據(jù)塊。一旦被創(chuàng)建,大小固定的磁盤就不能夠進行調(diào)整了。然而,動態(tài)擴展磁盤從一開始創(chuàng)建的就是沒有數(shù)據(jù)塊的.VHD文件,當數(shù)據(jù)寫入到.VHD文件中后磁盤空間才會被分配出去。這和精簡配置類似,盡管在邏輯上創(chuàng)建了一塊磁盤,但實際的磁盤空間只有數(shù)據(jù)寫入時才會被用到。 [10] 差分磁盤是一種特殊的動態(tài)擴展磁盤類型。其設(shè)計思路是父磁盤擁有固定的鏡像而且差分磁盤與父磁盤相關(guān)聯(lián),因此寫入到磁盤的數(shù)據(jù)被存放在差分磁盤而非.VHD文件中。讀請求首先檢查差分磁盤的.VHD文件,如果沒有更改,就會讀父.VHD文件。當需要標準化的磁盤鏡像而且回滾功能很重要時,差分是一個不錯的主意,但是管理員在維護父子磁盤配置時可能會面臨挑戰(zhàn)。