StorageReview.com

Porównanie hiperwizorów: wydajność wiodących rozwiązań wirtualizacyjnych

Enterprise   ◇ 

W następstwie niedawnego przejęcia VMWare przez Broadcom, w społeczności technologicznej rozgorzały dyskusje na temat zmian, a w szczególności przejścia na licencjonowanie subskrypcyjne. To skłoniło wiele firm i dostawców usług zarządzanych (MSP) do poszukiwania bardziej ekonomicznych rozwiązań hypervisor. W odpowiedzi na to rosnące zainteresowanie, porównaliśmy wiodące hypervisory, prezentując je jako realne alternatywy dla osób rozważających zmianę lub poszukujących innych opcji na rynku.

Naszym celem jest analiza tych hiperwizorów pod kątem ich funkcji, interfejsów internetowych i możliwości wydajnościowych. W szczególności porównujemy KVM na platformach RHEL, Proxmox, VMWare ESXI 8 i Microsoft HyperV.

KVM na RHEL (RedHat Enterprise Linux)

KVM (Kernel-based Virtual Machine) to hiperwizor typu open source oparty na Linuksie, który przekształca Linuksa w hiperwizor typu 1 poprzez osadzenie podstawowych funkcji wirtualizacji w jądrze Linuksa. Chociaż KVM może być hostowany w dowolnej dystrybucji Linuksa, Red Hat Enterprise Linux (RHEL) cieszy się popularnością ze względu na solidne wsparcie i funkcje klasy korporacyjnej.

RHEL to wszechstronna dystrybucja Linuksa, którą można zainstalować z lub bez środowiska graficznego. Interfejs zarządzania Cockpit to opcjonalna usługa, którą można dodać podczas instalacji. Cockpit, projekt open source, dostępny nie tylko dla RHEL, ułatwia podstawowe zarządzanie instancjami i usługami Linuksa. Nie jest on jednak zaprojektowany przede wszystkim jako narzędzie do zarządzania hiperwizorem i brakuje mu pewnych funkcji, takich jak „balonowanie pamięci”. To ograniczenie nie wynika z hiperwizora, a raczej z interfejsu zarządzania.

W przypadku bardziej zaawansowanej wirtualizacji i orkiestracji kontenerów, Red Hat oferuje OpenShift – kompleksową platformę z podejściem chmurowym, którą można również hostować lokalnie. OpenShift oferuje solidne narzędzia do zarządzania aplikacjami i infrastrukturą kontenerową, w tym zaawansowane funkcje sieciowe, pamięci masowej i bezpieczeństwa. Jednak OpenShift wymaga minimalnej liczby węzłów produkcyjnych, co czyni go mniej odpowiednim dla mniejszych wdrożeń.

Nextmox

Proxmox, oparty na Debianie, to kolejna implementacja KVM zyskująca popularność w laboratoriach domowych i przedsiębiorstwach, choć jeszcze nie na skalę ESXi czy HyperV. Jest darmowy i ma otwarte oprogramowanie, a także oferuje subskrypcyjne wsparcie i aktualizacje.

Jego interfejs sieciowy przewyższa Cockpit w zakresie zadań wirtualizacyjnych, upraszcza zarządzanie zasobami i zawiera zaawansowane funkcje i opcje dostrajania. Proxmox oferuje również zaawansowane kopie zapasowe, migawki i zarządzanie zaporą sieciową. Nie dorównuje jednak w pełni możliwościom VMWare, zwłaszcza w przypadku zadań takich jak konfiguracja vGPU, które wymagają interwencji z poziomu wiersza poleceń. Pod względem funkcjonalności Proxmox odzwierciedla KVM w systemie RHEL, zachowując porównywalność z wiodącymi hiperwizorami.

VMWare ESXi

Platforma ESXi firmy VMWare słynie z wszechstronnego zestawu funkcji. Choć działa jako samodzielny hiperwizor, jej pełne możliwości są dostępne dzięki platformie vCenter, która centralizuje zarządzanie.

Będąc przede wszystkim hiperwizorem, zbudowanym od podstaw, ESXi posiada najbardziej dopracowany interfejs użytkownika w sieci Web spośród produktów konkurencji. Oferuje niemal wszystkie funkcjonalności, w tym takie jak zarządzanie vGPU, w interfejsie webowym, rzadko wymagając dostępu do konsoli. W połączeniu z rozwiązaniami takimi jak VMWare Horizon, ESXi oferuje zintegrowane rozwiązanie VDI. Jego możliwości autonomiczne i klastrowe są dodatkowo wzbogacone o usługi takie jak vCenter, VSAN i Horizon, co czyni go solidnym, kompleksowym rozwiązaniem.

Hyper-V

Platforma Hyper-V firmy Microsoft ugruntowała swoją pozycję, szczególnie w środowiskach zorientowanych na system Windows. Zarządzanie w Hyper-V odbywa się za pośrednictwem Menedżera Hyper-V w mniejszych konfiguracjach lub SCVMM w większych środowiskach. Interfejs użytkownika jest przyjazny dla użytkownika, zwłaszcza dla użytkowników przyzwyczajonych do systemu Windows, i oferuje również funkcje takie jak zarządzanie vGPU bezpośrednio z poziomu interfejsu. Hyper-V doskonale sprawdza się w wirtualizacji opartej na systemie Windows i dobrze integruje się z innymi rozwiązaniami firmy Microsoft, takimi jak Azure, ułatwiając aktualizacje i migracje do chmury. Chociaż jest to oczywisty wybór dla środowisk zorientowanych na system Windows, może nie być tak dobrze przystosowany do innych zastosowań.

Jak sobie poradzili?

Porównajmy wydajność tych hiperwizorów i zobaczmy, jak wypadają w porównaniu do siebie.

Metodologia testowania

Naszym głównym celem jest ocena obciążenia wydajnościowego związanego z każdym hiperwizorem, wykorzystując go jako kluczowy wskaźnik porównawczy. Nasze testy koncentrują się na porównywaniu wydajności wielowątkowej, przepustowości pamięci oraz wydajności wejścia/wyjścia pamięci masowej.

Nasze testy obejmują kompilację jądra Linuxa, Apache, OpenSSL, SQLite, Stream i FIO. Są one przeprowadzane co najmniej trzykrotnie za pomocą pakietu testowego Phoronix i powtarzane aż do uzyskania niskiej rozbieżności wyników. Podczas testów funkcje takie jak interfejsy internetowe czy środowiska graficzne są zamykane, aby zapewnić optymalne warunki.

Naszym punktem odniesienia jest wydajność systemu fizycznego, a wszystkie wartości są skalowane względem niej w procentach. Te same testy są następnie replikowane dla każdego hiperwizora; konfigurujemy maszynę wirtualną z systemem Ubuntu. Co najważniejsze, każdej maszynie wirtualnej przydzielane są wszystkie zasoby hosta. Maszyny wirtualne są konfigurowane przy użyciu ustawień domyślnych, bez żadnych dodatkowych optymalizacji.

W związku z pewnymi obawami dotyczącymi wyników, chcieliśmy przedstawić szerszy kontekst naszej metodologii testowania. Testy miały symulować doświadczenia osoby, która dopiero zaczyna korzystać ze środowiska, na przykład użytkownika migrującego z konfiguracji skoncentrowanej na ESXi lub Hyper-V. Mówiąc o „ustawieniach domyślnych”, mamy na myśli opcje wstępnie wybrane podczas tworzenia maszyny wirtualnej, a jedynymi skonfigurowanymi ustawieniami były te dotyczące alokacji zasobów (procesorów wirtualnych, pamięci RAM i pamięci masowej).

Pojawiły się również wątpliwości co do przeznaczenia wszystkich zasobów na te testy. Istnieją dwa główne powody takiego podejścia. Porównanie tych wyników z bazą danych dla serwerów fizycznych zapewnia szerszy kontekst dla zmierzonej wydajności. Po drugie, pozwala nam ocenić wydajność w węzłach NUMA. W środowiskach produkcyjnych unikanie przeskoków w węzłach NUMA jest trudne, dlatego uwzględnienie tego aspektu w naszych testach jest kluczowe.

Uznaliśmy, że konieczne są dodatkowe wyjaśnienia. Aby rozwiać te wątpliwości, przeprowadziliśmy ponownie wszystkie testy, w tym zoptymalizowaną konfigurację Proxmox oraz dalsze testy z bardziej realistycznymi alokacjami zasobów maszyn wirtualnych.

W naszych nowych testach, zoptymalizowany Proxmox używa hosta jako typu procesora, NUMA włączone, q35 jako maszyny i OVMF (UEFI) jako BIOS-u. Pamięć podręczna została ustawiona na Write Back dla pamięci masowej, ponieważ używamy kontrolera RAID, a emulacja SSD była włączona. We wszystkich pozostałych przypadkach, z innymi hiperwizorami, do maszyny wirtualnej przydzielano tylko zasoby z odpowiednimi interfejsami użytkownika, bez zmiany żadnych dodatkowych ustawień.

Konfiguracja testowa

Do testów wykorzystaliśmy komputer Dell R760.

Dane techniczne:

  • Intel Xeon Sapphire Rapids 6430
  • 256GB DDR5
  • 8 x 7.68TB Solidigm P5520 w RAID5 na Dell PERC12

(Uwaga : Serwer użyty do oryginalnych testów został zmodernizowany, aby obsługiwać nowe procesory Emerald Rapids. W rezultacie nie można bezpośrednio porównywać oryginalnych wyników z nowymi. Dlatego wszystkie testy przeprowadzono ponownie, aby zapewnić spójność i dokładność.)

Nowe testy zostaną przeprowadzone na komputerze Dell R760 z systemem bezpośredniego chłodzenia cieczą.
Dane techniczne:

  • Intel Xeon Emerald Rapids 8580
  • 256GB DDR5
  • 8 x 7.68TB Solidigm P5520 w RAID5 na Dell PERC12

Wyniki testu




Przyjrzyjmy się bliżej wynikom poszczególnych testów.

Test kompilacji jądra Linuksa, który intensywnie obciąża procesor i mierzy czas kompilacji jądra Linuksa, wykazał, że ESXi i Hyper-V wypadły wyjątkowo dobrze, osiągając odpowiednio 96.79% i 96.70% wydajności bazowej. KVM na RHEL osiągnął 66.61%, podczas gdy standardowy Proxmox wypadł gorzej, osiągając 63.28%. Zoptymalizowany Proxmox uzyskał jednak przyzwoity wynik 89.71% wydajności bazowej.

W teście Apache, który ocenia wydajność serwera WWW Apache przy dużej liczbie równoczesnych połączeń i żądań, ESXi i Hyper-V osiągnęły imponujące wyniki, osiągając odpowiednio 113.64% i 129.62% wydajności fizycznej. KVM na RHEL osiągnął 85.72%, standardowy Proxmox 75.90%, a zoptymalizowany Proxmox 75.31%. Co istotne, ESXi i Hyper-V przewyższyły wydajność fizyczną, prawdopodobnie dzięki akceleratorom sprzętowym w nowszych układach, co sugeruje, że te hiperwizory mogą wykorzystywać te akceleratory bez ręcznej konfiguracji i dostrajania.

Test OpenSSL, mierzący wydajność kryptograficzną procesora, wykazał, że ESXi, Hyper-V i KVM na RHEL wypadły nadzwyczaj dobrze, osiągając odpowiednio 101.35%, 101.27% i 101.15% wydajności bazowej. Standardowy Proxmox miał problemy z zaledwie 5.33%, podczas gdy zoptymalizowany Proxmox uzyskał 98.91%.

W teście kompresji 7-Zip, który ocenia wydajność kompresji i dekompresji, ESXi i Hyper-V wykazały się wysoką wydajnością, osiągając odpowiednio 95.98% i 97.56% wydajności na serwerze. KVM na RHEL, standardowy Proxmox i zoptymalizowany Proxmox uzyskały zbliżone wyniki, odpowiednio 85.81%, 87.17% i 87.43%.

Test FIO, mierzący wydajność podsystemu pamięci masowej z blokami o rozmiarze 4 KB w trybie losowego odczytu i zapisu, wykazał, że ESXi osiągnął 57.41% w przypadku losowego odczytu i 55.27% w przypadku losowego zapisu, podczas gdy Hyper-V uzyskał 72.95% w przypadku losowego odczytu i 85.71% w przypadku losowego zapisu. KVM na platformie RHEL osiągnął 74.60% w przypadku losowego odczytu i 85.37% w przypadku losowego zapisu. Standardowy Proxmox uzyskał 54.71% w przypadku losowego odczytu i 44.71% w przypadku losowego zapisu, podczas gdy zoptymalizowany Proxmox uzyskał najlepsze wyniki w tym teście – 98.57% w przypadku losowego odczytu i 91.49% w przypadku losowego zapisu.

Test SQLite, mierzący wydajność bazy danych SQLite, wykazał, że ESXi osiągnął 96.44% wydajności baz danych. Hyper-V uzyskał 55.94%, a KVM na RHEL 62.52%. Co ciekawe, standardowy Proxmox uzyskał 85.27%, osiągając lepszy wynik niż zoptymalizowany Proxmox, który uzyskał 68.86%. Dokładna przyczyna nie jest do końca jasna, ale testy przeprowadzono dwukrotnie na nowych instalacjach hypervisora ​​i maszyny wirtualnej, aby zapewnić powtarzalność.

Test Stream, który ocenia wydajność przepustowości pamięci, wykazał, że ESXi i Hyper-V wykazały się wysoką wydajnością, osiągając odpowiednio 98.30% i 99.01% wydajności w środowisku bazowym. KVM na RHEL, standardowy Proxmox i zoptymalizowany Proxmox uzyskały zbliżone wyniki, odpowiednio 74.60%, 76.24% i 71.04%.

Ogólnie rzecz biorąc, Hyper-V okazał się najlepszy, osiągając średnio 92% wydajności na serwerze fizycznym. ESXi był nieco w tyle ze średnią wydajnością 89%, zoptymalizowany Proxmox znalazł się na trzecim miejscu z wynikiem 85%, KVM na RHEL zajął czwarte miejsce z wynikiem 79%, a standardowy Proxmox pozostał w tyle z wynikiem 61%.

W bardziej realistycznym scenariuszu alokacji zasobów maszyn wirtualnych, wyniki zostały znormalizowane do najlepszych w każdej kategorii. W teście kompilacji jądra systemu Linux, ESXi uzyskał najlepszy wynik, KVM na RHEL zajął drugie miejsce z wynikiem 97.90%, a zoptymalizowany Proxmox uplasował się na trzecim miejscu z wynikiem 97.88%. Standardowy Proxmox zajął czwarte miejsce z wynikiem 88.90%, a Hyper-V pozostał w tyle z wynikiem 66.05%.

W teście Apache, ESXi po raz kolejny uzyskał najlepszy wynik, KVM na RHEL znalazł się na drugim miejscu z wynikiem 76.25%, a Hyper-V na trzecim z wynikiem 76.14%. Zoptymalizowany Proxmox również był bardzo blisko z wynikiem 75.36%, a standardowy Proxmox znalazł się na ostatnim miejscu z wynikiem 61.11%.

W teście OpenSSL system ESXi utrzymał swoją pozycję, uzyskując najlepszy wynik, na drugim miejscu znalazł się KVM na RHEL z wynikiem 96.25%, na trzecim zoptymalizowany system Proxmox z wynikiem 94.48%, na trzecim Hyper-V z wynikiem 48.96%, a na ostatnim miejscu znalazł się standardowy system Proxmox z wynikiem 3.42%.

W teście kompresji 7-Zip, ESXi nadal osiągał najlepsze wyniki, a KVM na RHEL, zoptymalizowany Proxmox i standardowy Proxmox znalazły się bardzo blisko, uzyskując odpowiednio 96.84%, 96.59% i 95.40%, podczas gdy Hyper-V nadal pozostawał w tyle z wynikiem 64.48%.

W teście FIO, ESXi uzyskał najlepsze wyniki zarówno w losowym odczycie, jak i zapisie. W przypadku losowego odczytu, zoptymalizowany Proxmox zajął drugie miejsce z wynikiem 86.81%, Hyper-V trzecie z 71.02%, KVM na RHEL czwarte z 68.44%, a standardowy Proxmox ostatnie z 45.05%. Test losowego zapisu przyniósł podobny wynik: Hyper-V zajął drugie miejsce z wynikiem 73.43%, KVM na RHEL trzecie z 70.92%, zoptymalizowany Proxmox czwarte z 59.91%, a standardowy Proxmox ostatnie z 38.79%.

Test SQLite okazał się ciekawszy, w którym ESXi nadal uzyskał najlepszy wynik, na drugim miejscu znalazł się standardowy Proxmox, a na końcu KVM na RHEL, Hyper-V i zoptymalizowany Proxmox z wynikami odpowiednio 49.23%, 43.06% i 42.61%.

W teście Stream zoptymalizowany Proxmox uzyskał najlepszy wynik, na drugim miejscu znalazł się standardowy Proxmox z wynikiem 83.56%, na trzecim KVM na RHEL z wynikiem 82.47%, na czwartym ESXi z wynikiem 71.21%, a na ostatnim Hyper-V z wynikiem 63.02%.

Wniosek

Ogólnie rzecz biorąc, w najgorszym teście wszystkich zasobów zwyciężył Hyper-V, uzyskując średnio 92.34%, następnie ESXi z 89.36%, zoptymalizowany Proxmox z 85.16%, KVM na RHEL z 79.55% i wreszcie standardowy Proxmox z 61.58% w porównaniu z bazą danych. Przy bardziej realistycznej alokacji zasobów, ESXi wygrał, uzyskując najlepszy wynik we wszystkich testach z wyjątkiem Stream, osiągając średni wynik 96.4%, następnie zoptymalizowany Proxmox z 81.7%, KVM na RHEL z bliskim wynikiem 79.79%, Hyper-V pozostający w tyle z zaledwie 63.27%, a standardowy Proxmox znalazł się na ostatnim miejscu z 59.69%.

W naszych testach ESXi wypadł najlepiej pod względem średniej. Spośród alternatyw open source, zoptymalizowany Proxmox wykazał się godną pochwały wydajnością, ale bez optymalizacji wydajność była daleka od ideału. KVM na RHEL wypadł gorzej w naszym teście najgorszego scenariusza, ale był bardzo blisko zoptymalizowanego Proxmox w bardziej realistycznych testach. Wyniki Hyper-V przy realistycznej alokacji zasobów były zaskakujące; bardziej szczegółowa analiza wyjaśniłaby, dlaczego wyniki były takie, jakie były, ale to wykracza poza zakres tego artykułu.

Skontaktuj się z StorageReview

Biuletyn | YouTube | Podcast iTunes / Spotify | Instagram | Twitter | TikTok | Kanał RSS

Divyansh Jain

Inżynier uczenia maszynowego, homelabber i entuzjasta technologii. W StorageReview kieruję testami sztucznej inteligencji i nowych obciążeń, dostarczając analizy i analizy wydajności.