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


pexels-photo-417018.jpeg


近期多位朋友在討論 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
%25E8%259E%25A2%25E5%25B9%2595%25E5%25BF
開機時間對照表

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

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

處理器效能

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

pvecpu.jpg
PVE VM CPU 資訊

esxicpu.jpg
ESXi VM CPU 資訊

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

pvemem.jpg
PVE VM CPU 效能數據
esxicpubench.jpg
ESXi VM CPU 效能數據

%25E8%259E%25A2%25E5%25B9%2595%25E5%25BF
CPU 效能對照表

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

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

記憶體效能

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

pvememinfo.jpg
PVE VM 記憶體資訊
esximeminfo.jpg
ESXi VM 記憶體資訊
接著同樣以 PerformanceTest 進行效能測試,結果如下:
pvemem.jpg
PVE VM 記憶體效能數據
esximem.jpg
ESXi VM 記憶體效能數據
%25E8%259E%25A2%25E5%25B9%2595%25E5%25BF
記憶體效能對照表

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

磁碟效能

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

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

disk_writethrough.jpg
PVE VM 磁碟效能測試 Write through

disk_writeback.jpg
PVE VM 磁碟效能測試 Write back
disk_esxi.jpg
ESXi VM 磁碟效能測試

%25E8%259E%25A2%25E5%25B9%2595%25E5%25BF
PVE – No cache 與 ESXi 磁碟效能對照表

%25E8%259E%25A2%25E5%25B9%2595%25E5%25BF

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

%25E8%259E%25A2%25E5%25B9%2595%25E5%25BF

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…等多種測試,值得一看。

2019-01-18%2B09_28_27-TITLE.png
測試數據 (點圖可放大查看)

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

參考資料

Shared via Inoreader