VMWare and UTM Performance Benchmark


我在開發時,很習慣用 Linux 當作主要的運行環境,然後用 Windows or macOS 當作作業環境 (IDE)。主要的工作配置是:

  1. VS Code runs on macOS
  2. Application (java, golang, rust, C#) runs on Linux

主要是確保應用程式的 runtime 的 development and production 是一致的。

之前注意到 UTM 是因為想在 iPad Pro 上跑 Linux,但實驗後效果不如預期,所以放棄這個念頭。最近嘗試把執行環境在 Macbook Pro 上,用 UTM 跑 Ubuntu 24.04 Server,運行了差不多一個月左右,感覺還可以。過去我比較熟悉的 Virtualization 是 VMWare,連假期間順手 VMWare 兩者在 Intel 與 Apple Silicon M1 環境的效能差異。

Comparsion Matrix

下表示這次測試的矩陣,分成硬體和軟體,共四個維度:

Virtualization \ Hardware Intel Core (i9) Apple Silicon (M1)
VMWare Fusion v v
UTM v v

這次測試的詳細資訊:

測試結果

工具主要以 sysbeanch 為主,測試項目包含 CPU 速度、記憶體讀寫的 IOPS / Throughput、磁碟的 IOPS / Throughput

Intel Core i9 (iMac 2019 LATE)

Apple Sillicon M1 (Macbook Pro)

完整的測試資料請參考 這裡, 有其他像是 EC2, QNAM Virtual Station

摘要

幾個觀察到的結果:

  1. CPU 的效能:
    • Apple Sillicon 跟 Intel Core i9 兩者前後差一年,CPU 效能整整差 2.75 倍。
    • 不管是 VMWare or UTM,兩者 CPU 的效能都只有 Host Machine 的 1% 都不到,這現象值得深入了解。包含 sysbench 的測試方法,以及兩個 CPU 的虛擬化 (Virtualize) 和模擬 (Emulation) 的實作方法
    • 不管在哪個硬體上,VMWare 的效能都比 UTM 好。
  2. 記憶體:
    • VMWare 不管在哪個硬體上,效能居然都比 Host Machine 還要好
    • UTM 在 Intel Core i9 (iMac) 上的記憶體效能完全不行,但在 Apple Sillicon 就跟上了
    • Host Machine 對比,iMac 的 DDR4-2600 居然比 Apple Sillion SoC 還要快
  3. Storage:
    • VMWare 在 Intel Core i9 上,IOPS / Througpht 都超過 Host Machine,在 M1 上就沒那麼好了
    • UTM 不管在 Intel or M1 上都很慘 …

上述的測試,VM instance 基本的設定都是 8core, memory 16GiB, storage 80GiB SSD,安裝的作業系統分別是 Ubuntu 24.04 Server (x86_64 and ARM),其他細節設定都是預設,沒有調整。


延伸閱讀



Comments

  • 全站索引
  • 關於這裏
  • 關於作者
  • 學習法則
  • 思考本質
  • 一些領悟
  • 分類哲學
  • ▲ TOP ▲