Các loại ảo hóa

Như tiêu đề thì bạn biết sẽ có 2 loại ảo hóa là Hypervisor Type 1 và Hypervisor Type 2. Khác biệt lớn nhất nhất giữa hai loại này là là ở khả năng truy xuất trực tiếp vào phần cứng của máy ảo:

  • Type 1 (bare-metal Hypervisor): máy ảo chạy trực tiếp trên phần cứng vật lý, không bị quản lý bởi Host OS. VD: Hyper-V, VMWare ESX, Citrix XenServer, KVM.
  • Type 2 (hosted Hypervisor): máy ảo chạy trên nền một phần mềm hypervisor được cài đặt trên Host OS. VD: VirtualBox, VMware Workstation, Parallels Desktop.

Tham khảo: Ảo hoá phần cứng: Hyper-V, KVM, VMware vSphere, XenẢo hoá hệ điều hành: LXC và Docker.

Nhờ khả năng truy xuất trực tiếp vào phần cứng vật lý nên máy ảo Hypervisor Type 1 sẽ mang hiệu năng vượt trội so với máy ảo Hypervisor Type 2. Bài viết này mình sẽ thử kiểm tra Benchmark giữa máy ảo Hyper-V và máy ảo VirtualBox để so sánh hiệu suất hoạt động.

Thông số phần cứng

Dưới đây là thông số phần cứng của máy tính để bàn mình đang sử dụng để vừa chơi game vừa nghiên cứu:

  • CPU: Intel Core i3-9100F
  • RAM: Corsair 16GB DDR4
  • SSD: 860 EVO 500GB
  • OS: Windows 10 Pro

Thông số máy ảo (cài đặt giống nhau trên VirtualBox và Hyper-V)

  • CPU: 1 Core
  • RAM: 2GB
  • SSD: 20GB
  • OS: Ubuntu Server 20.04

Benchmark SSD

Mình sử dụng script benchmark của tocdo.net để kiểm tra tổng quát thông số của máy ảo.

# Test Tốc độ & Share kết quả
curl -Lso- tocdo.net/share | bash

Hyper-V:

System Info
----------------------------------------------------------------------
CPU model            : Intel(R) Core(TM) i3-9100F CPU @ 3.60GHz
Number of cores      : 1
CPU frequency        : 3599.997 MHz
Total size of Disk   : 42.9 GB (24.5 GB Used)
Total amount of Mem  : 1940 MB (541 MB Used)
Total amount of Swap : 2912 MB (5 MB Used)
System uptime        : 0 days, 0 hour 2 min
Load average         : 0.51, 0.41, 0.17
OS                   : Ubuntu 20.04.2 LTS
Arch                 : x86_64 (64 Bit)
Kernel               : 5.4.0-81-generic
Virt                 : hyperv
Date                 : Sat 14 Aug 2021 08:41:53 AM UTC

Disk Speed
----------------------------------------------------------------------
dd Test
I/O (1st run)        : 220 MB/s
I/O (2nd run)        : 233 MB/s
I/O (3rd run)        : 293 MB/s
Average              : 248.7 MB/s
-----------------------------------
Fio Test
Read performance     : 128MB/s
Read IOPS            : 31.2k
Write performance    : 42.7MB/s
Write IOPS           : 10.4k

Speedtest
----------------------------------------------------------------------
Node Name                               IPv4 address    Download Speed
CacheFly                                205.234.175.175 17.7MB/s
Vultr, Los Angeles, CA                  108.61.219.200  13.6MB/s
Vultr, Seattle, WA                      108.61.194.105  9.29MB/s
Linode, Tokyo, JP                       139.162.65.37   6.82MB/s
Linode, Singapore, SG                   139.162.23.4    10.6MB/s
Softlayer, HongKong, CN                 119.81.130.170  10.7MB/s
VNPT, Ha Noi, VN                        113.164.24.102  12.5MB/s
VNPT, Da Nang, VN                       113.164.16.66   14.0MB/s
VNPT, Ho Chi Minh, VN                   113.164.8.250   20.7MB/s
Viettel Network, Ha Noi, VN             27.68.226.129   17.2MB/s
Viettel Network, Da Nang, VN            27.68.201.1     15.9MB/s
Viettel Network, Ho Chi Minh, VN        27.68.239.33    19.4MB/s
FPT Telecom, Ha Noi, VN                 118.70.115.12
FPT Telecom, Ho Chi Minh, VN            1.55.119.18     19.6MB/s

Virtualbox:

System Info
----------------------------------------------------------------------
CPU model            : Intel(R) Core(TM) i3-9100F CPU @ 3.60GHz
Number of cores      : 1
CPU frequency        : 3599.996 MHz
Total size of Disk   : 17.8 GB (12.6 GB Used)
Total amount of Mem  : 1987 MB (429 MB Used)
Total amount of Swap : 2047 MB (4 MB Used)
System uptime        : 0 days, 8 hour 45 min
Load average         : 0.35, 0.11, 0.05
OS                   : Ubuntu 20.04.2 LTS
Arch                 : x86_64 (64 Bit)
Kernel               : 5.4.0-77-generic
Virt                 : virtualbox
kvm
Date                 : Sat 14 Aug 2021 08:45:26 AM UTC

Disk Speed
----------------------------------------------------------------------
dd Test
I/O (1st run)        : 242 MB/s
I/O (2nd run)        : 217 MB/s
I/O (3rd run)        : 241 MB/s
Average              : 233.3 MB/s
-----------------------------------
Fio Test
Read performance     : 9114kB/s
Read IOPS            : 2225
Write performance    : 3026kB/s
Write IOPS           : 738

Speedtest
----------------------------------------------------------------------
Node Name                               IPv4 address    Download Speed
CacheFly                                205.234.175.175 17.9MB/s
Vultr, Los Angeles, CA                  108.61.219.200  11.0MB/s
Vultr, Seattle, WA                      108.61.194.105  10.7MB/s
Linode, Tokyo, JP                       139.162.65.37   12.2MB/s
Linode, Singapore, SG                   139.162.23.4    10.7MB/s
Softlayer, HongKong, CN                 119.81.130.170  14.0MB/s
VNPT, Ha Noi, VN                        113.164.24.102  11.4MB/s
VNPT, Da Nang, VN                       113.164.16.66   12.2MB/s
VNPT, Ho Chi Minh, VN                   113.164.8.250   19.6MB/s
Viettel Network, Ha Noi, VN             27.68.226.129   18.4MB/s
Viettel Network, Da Nang, VN            27.68.201.1     12.7MB/s
Viettel Network, Ho Chi Minh, VN        27.68.239.33    19.3MB/s
FPT Telecom, Ha Noi, VN                 118.70.115.12
FPT Telecom, Ho Chi Minh, VN            1.55.119.18     19.5MB/s

Thông số cần chú ý là ở phần Fio Test: Máy ảo Hyper-V có tốc độ truy xuất ổ cứng vượt trội so với máy ảo VirtualBox.

  • Read IOPS: 31.200 (Hyper-V) so với 2225 (VirtualBox)
  • Write IOPS: 10.400 (Hyper-V) so với 738 (VirtualBox)

Qua đó có thể thấy máy ảo Hypervisor 1 (Hyper-V) với khả năng truy xuất trực tiếp vào SSD cho hiệu năng khác biệt rất lớn so với máy ảo Hypervisor 2 (VirtualBox).

Benchmark CPU

Phần này mình dùng Sysbench để kiểm tra hiệu năng CPU

Cài đặt Sysbench

curl -s https://packagecloud.io/install/repositories/akopytov/sysbench/script.deb.sh | sudo bash
sudo apt -y install sysbench

Sử dụng lệnh sau để benchmark CPU

sysbench --test=cpu --cpu-max-prime=20000 run

Hyper-V:

CPU speed:
    events per second:   505.56
General statistics:
    total time:                          10.0015s
    total number of events:              5057
Latency (ms):
         min:                                    1.80
         avg:                                    1.98
         max:                                    8.99
         95th percentile:                        2.30
         sum:                                 9992.08
Threads fairness:
    events (avg/stddev):           5057.0000/0.00
    execution time (avg/stddev):   9.9921/0.00

VirtualBox:

CPU speed:
    events per second:   453.92
General statistics:
    total time:                          10.0026s
    total number of events:              4541
Latency (ms):
         min:                                    1.80
         avg:                                    2.20
         max:                                   27.96
         95th percentile:                        3.62
         sum:                                 9991.39
Threads fairness:
    events (avg/stddev):           4541.0000/0.00
    execution time (avg/stddev):   9.9914/0.00

Máy ảo Hyper-V cho tốc độ xử lý CPU nhanh hơn chút so với máy ảo VirtualBox. Tuy nhiên khác biệt là không đáng kể.

Benchmark RAM

Sử dụng tiếp Sysbench để benchmark RAM với lệnh sau

sysbench --test=memory --memory-block-size=1M --memory-total-size=100G --num-threads=1 run

Hyper-V:

Total operations: 102400 (18306.80 per second)
102400.00 MiB transferred (18306.80 MiB/sec)
General statistics:
    total time:                          5.5922s
    total number of events:              102400
Latency (ms):
         min:                                    0.05
         avg:                                    0.05
         max:                                    3.52
         95th percentile:                        0.07
         sum:                                 5555.12
Threads fairness:
    events (avg/stddev):           102400.0000/0.00
    execution time (avg/stddev):   5.5551/0.00

VirtualBox:

Total operations: 102400 (16111.80 per second)
102400.00 MiB transferred (16111.80 MiB/sec)
General statistics:
    total time:                          6.3543s
    total number of events:              102400
Latency (ms):
         min:                                    0.05
         avg:                                    0.06
         max:                                    8.26
         95th percentile:                        0.08
         sum:                                 6307.85
Threads fairness:
    events (avg/stddev):           102400.0000/0.00
    execution time (avg/stddev):   6.3078/0.00

Máy ảo VirtualBox tiếp tục thua kém về Benchmark RAM so với máy ảo Hyper-V. Tốc độ khác biệt hơn nhau 10%.

Tổng kết

Hyper-V quá ngon, quá xịn! Nếu bạn đang sử dụng Hypervisor Type 2 trên nền Windows 10, hãy chuyển qua dùng Hypervisor Type 1 với Hyper-V ngay và luôn. Còn nếu bạn đang tìm hiểu học hỏi về cách tạo máy ảo, Hyper-V thẳng tiến.

Xem thêm: So sánh 3 công nghệ ảo hóa VirtualBox, VMWare và Hyper-V

Leave a Reply

This site uses cookies to offer you a better browsing experience. By browsing this website, you agree to our use of cookies.