2019年1月19日 星期六

[經驗分享]PVE 與 ESXi 簡易效能測試



近期多位朋友在討論 Proxmox VE 與 VMware ESXi 的效能差異是否極為明顯,正巧有空出一台老舊的拼裝測試伺服器,便與同事 Max 來做些簡單的測試。


特別聲明:
「效能一定有差別,測試數據有輸有贏,查看前應詳閱不吵架說明書。」





測試配備


實體機


因為只有一台伺服器可以使用,也為了用相同的硬體跑數據,所以是完全使用同一台機器分別測試這兩個平台,以示公平。


項目 規格
主機 Dell PowerEdge T420
處理器 Intel(R) Xeon(R) CPU E5-2407 @ 2.20GHz
記憶體 DDR3 24 GB 1333MHz (ECC)
磁碟 PERC H710
- Hgst DK7SAF300 SATA 3TB 7.2krpm
- Hgst DK7SAF300 SATA 3TB 7.2krpm
- Seagate ST32000542AS SATA 2TB 7.2krpm
- Seagate ST2000DM001 SATA 2TB 5.9krpm
- RAID 1+0 Virtual Disk 3725 GB


由於此張磁碟陣列卡沒有支援 HBA Mode,所以 PVE 的磁碟也是以 ZFS 安裝在磁碟陣列卡所做出來的單顆 Virtual Disk 上。

表中有一顆硬碟是 5.9krpm,沒有錯,他就是 5.9krpm,前面已經提到它是一台東拼西湊起來的拼裝機了...😭😭😭


虛擬機


安裝完虛擬平台後,建立一個 Windows 虛擬機在裡面跑測試工具來統計數據,Windows 7 除了必要的虛擬機相關驅動以外,不做任何 Windows Update。


項目 PVE ESXi
平台版本 5.3-6 6.5u2
作業系統 Windows 7 Pro. SP1 x64
處理器 Type Host / 1 vCPU
記憶體 8 GB vRAM
虛擬磁碟 VirtIO SCSI SCSI
實體儲存 Local Storage


PVE 說明:
Proxmox VE 使用 5.3-6,這個版本具有 CPU Meltdown & Spectre 這兩個漏洞修補檔,其實在 5.1 起的版本即有內建。

ESXi 說明:
VMware ESXi 使用 6.5u2 試用版而沒有選擇最新的 6.7,原因在於 VMware 的相容性清單上並不支援 Dell T420,所以降至可以相容的版本 6.5u2,同時此版本經查已經修補 CPU 的 Meltdown & Spectre 這兩個漏洞,所以在 CPU 數據上可以跟 PVE 起跑點較為一致。




使用軟體

本次測試所使用到的資訊識別與測速軟體如下。

  • CPU-Z 1.87.0 x64
  • CrystalDiskMark 6.0.2 x64
  • PerformanceTest 9.0 x64






開機速度


開機速度的條件,以虛擬機開機後到出現登入畫面且無載入動畫為止,單位為秒。


次數 PVE ESXi
1 17.31 46.54
2 16.65 43.15
3 17.33 45.99
平均 17.09 45.22



開機時間對照表


Proxmox VE 開機速度明顯較快,差異應在於 ESXi 的本機 VMFS 檔案系統效能較弱所致,若是外掛 Storage 做存取或是搭配 vSAN,則尚難定論。

註:Proxmox VE 裡 VM 的磁碟 Cache Mode 為 Default (No cache)。








處理器效能


接下來進行中央處理器效能測試,兩邊均是 Host CPU 模式,以 CPU-Z 讀取資訊如下:



PVE VM CPU 資訊




ESXi VM CPU 資訊





接著以 PerformanceTest 進行效能測試,結果如下:



PVE VM CPU 效能數據




ESXi VM CPU 效能數據




CPU 效能對照表



在 CPU 運算能力的部份,ESXi 較為優秀。

雖然整體效能看起來 PVE 落後 ESXi 10% 左右,但是在浮點運算(Floating Point Math)部份,PVE 的效能只有 ESXi 的 57%,最為明顯。






記憶體效能


接下來進行記憶體存取效能測試,以 CPU-Z 讀取資訊如下:



PVE VM 記憶體資訊




ESXi VM 記憶體資訊



接著同樣以 PerformanceTest 進行效能測試,結果如下:



PVE VM 記憶體效能數據




ESXi VM 記憶體效能數據



記憶體效能對照表



在記憶體效能部份,PVE 略勝一點點,但微乎其為可以視為平手;但是在 CPU-Z 讀取記憶體資訊時,能夠取出的資訊極少。








磁碟效能


最後一個是磁碟讀寫效能測試,在 PVE 中磁碟的快取模式(Cache Mode)有多種,所以本測試會取較為常用的三種 Default (No cache)、Write through、Write back 一起做測試,提供參考。



PVE VM 磁碟效能測試 Default (No cache)




PVE VM 磁碟效能測試 Write through




PVE VM 磁碟效能測試 Write back




ESXi VM 磁碟效能測試




PVE - No cache 與 ESXi 磁碟效能對照表




PVE - Write through 與 ESXi 磁碟效能對照表




PVE - Write back 與 ESXi 磁碟效能對照表


如同前面開機時間測試提到的,差異應在於 ESXi 的本機 VMFS 檔案系統效能較弱所致,若是外掛 Storage 做存取或是搭配 vSAN,則尚難定論。

在本機磁碟讀寫效能上借助 ZFS 檔案系統的優勢,PVE 在隨機讀寫的部份效能較為突出,循序讀寫的部份則依不同模式而互有差異。

其中 Write back 效能最好,若能在主機的電力穩定運作與不斷電系統齊備可以採用 Write back 做為 Cache Mode。

但在效能與資料保全的平衡上,筆者建議採用 Default (No cache) 或 Write through,前者強調讀寫平衡,後者強調寫入讀取效能。
(2019/01/21 更新:感謝 Folay Chen 朋友指正寫反了)






結論


這次利用時間做了簡易的測試,主要驗證目前 PVE 與 ESXi 效能的對比,兩者在不同的項目上各有所長,就整體來說效能差異其實相當,在應用層面並沒有任何問題,只在於想要選用的方案是否符合自己所需。

瞭解自己真正的需求,並知道現有的自由軟體與專有軟體可以滿足哪些需求,從而選擇適合的方案,就是軟體自由運動的精神:「軟體與方案是我們的工具,而不會因為被特定方案綁住,反倒成為軟體與方案的奴隸」。



另外,網路上有一份 2017 年發表更加詳盡的測試比對數據,來自於 IADIS (International Association for Development of the Information Society,資訊社會發展國際協會)。

在這份詳盡的報告中,同時比較了 ESXi、XenServer、PVE、Hyper-V 等方案,並且涵蓋 CPU、Memory、Disk、2D、3D、Network...等多種測試,值得一看。



測試數據 (點圖可放大查看)


當中 CPU 的測試結果 PVE 與 ESXi 僅差 5%,比我的測試結果還要接近,但是在儲存效能上,因為沒有說明儲存是使用什麼檔案系統與如何配置,因此儲存方面的數據我是抱持觀望態度。詳細內容請至本文參考資料的倒數第三個連結查看。






參考資料