Co jest szybsze na tym samym sprzęcie, Xen lub KVM?
Próbuję wybrać technologię wirtualizacji do pracy, która zapewnia najlepszą wydajność.
Oto kilka punktów odniesienia, które znalazłem na ten temat: http://virt.kernelnewbies.org/XenVsKVM
Pokazują KVM jako zwycięzcę, ze znaczną różnicą w wydajności - co jest sprzeczne z ideą, że KVM jest hiperwizorem typu 2, a z definicji powinien być wolniejszy niż hiperwizory typu 1 (jak Xen) - lub przynajmniej to, co artykuły w Internecie mówią.
Masz pomysł na ten temat?
xen
kvm-virtualization
performance
benchmark
SyRenity
źródło
źródło
Odpowiedzi:
Benchmark porównuje jedynie szybkość natywnego systemu operacyjnego z jednym systemem-gościem. To nie jest test w prawdziwym świecie. Nie sądzę, bym przyłożył na to dużą wagę. Większość obozu KVM twierdzi, że Xen wymaga zbyt wielu przerwań i przeskoków między jądrem a przestrzenią użytkownika, ale z większości bardziej realistycznych testów, które widziałem, które tak naprawdę nie zostały zrealizowane, a Xen wydaje się być nieco szybszy niż KVM.
Przepraszam, nie mam linku do tego, aby wykonać to pod ręką. Ale powiem, że KVM szybko się poprawia i wydaje się, że szybko dogania zestaw funkcji i stabilność.
Co do tego, które podejście jest lepsze. Obóz w Xen będzie argumentował, że prawdziwy lekki hypervisor wymaga wirtualizacji, aby był bezpieczny i szybki. Xen również zaczyna być obsługiwany w oprogramowaniu układowym przez niektórych dostawców, co również jest miłe. Obóz KVM będzie argumentował, że KVM jest prostszy i że Linux może być dobrym hiperwizorem.
W końcu nadal nie jest jasne, który kierunek ostatecznie wygra. Xen z pewnością ma przewagę i ma już ładny udział w rynku. Ale nie ma go jeszcze w głównym jądrze. Mam nadzieję, że wkrótce to się zmieni i na pewno w ciągu ostatnich kilku miesięcy dużo się o tym mówiło na liście jądra. Red Hat jest teraz w obozie KVM i będzie promować platformę wirtualizacji. Red Hat Linux 5.4, który pojawi się wkrótce, będzie pierwszym, który go uwzględni. Prawdopodobnie przyciągnie to sklepy, które nie zostały jeszcze wdrożone ani nie zaangażowały się w platformę wirtualizacji.
Jeśli chodzi o narzędzia, zarówno Xen, jak i KVM używają libvirt i QEMU oraz powiązanych z nimi narzędzi. Dlatego dzielą wiele takich samych narzędzi, jak virt-manager.
Używamy Xen w pracy i działa dobrze dla nas. Ale patrzyłem na KVM z powodu problemów z przekierowaniem USB i PCI, których nie byłem w stanie rozwiązać za pomocą Xen. Nie jestem pewien, czy KVM jest w tym lepszy, ale chyba się dowiem, kiedy spróbuję. Jedną z rzeczy, które zauważyłem podczas badania moich problemów z USB, jest to, że dokumentacja KVM jest bardziej możliwa do oceny i uporządkowania w porównaniu do dokumentacji Xena. Ale nie ma idealnej platformy do wirtualizacji, więc musisz dowiedzieć się, co ma dla ciebie sens.
źródło
Osobiście wybrałbym wirtualizację na podstawie użyteczności, wsparcia, niezawodności i przydatności dla używanych maszyn wirtualnych.
Szybkość przesyłania danych przez sieć Xen wydaje się być tak dobra, jak prawdziwy sprzęt, ale miałem też kilka bitew z Xen i vLansami i wieloma kartami Ethernet. Nie mam doświadczenia z KVM, ale sugerowałbym również rozważenie VMware ESX (i).
źródło
FWIW: Odpowiedź zależy całkowicie od twoich potrzeb, teraz iw przyszłości.
Tak, wiem, że to nie jest pomocna odpowiedź. Niestety to prawda. Twój wybór wirtualizacji wpłynie prawie na wszystko, co robisz później, więc musisz zadać sobie kilka pytań.
(1) Czy różnica między 97% wydajności natywnej a 96% wydajności natywnej (liczby wyskubane z powietrza) jest dla Ciebie tak ważna?
(1a) Jeśli ktoś lepiej radzi sobie z dostępem do HD (co naprawdę oznacza, że albo używasz świetnej bazy danych, albo nie możesz sobie pozwolić na dodatkową pamięć RAM), a drugi lepiej radzi sobie z siecią, która jest dla Ciebie ważniejsza ?
(2) Czy masz pewność, że korzystasz z narzędzi dostarczonych z którymkolwiek rozwiązaniem?
(3) Czy fakt, że jedno jest (rodzajem) rodzime dla najnowszych jąder Linuksa, a drugi nie, robi różnicę?
(3a) Czy teraz, czy byłeś ... eee ... czy kiedykolwiek będziesz musiał uruchomić inny system operacyjny w ramach wirtualizacji? To nie musi być Windows. Może to być FreeBSD, a nawet Haiku lub cokolwiek innego. (Xen prawdopodobnie wygrywa tutaj, ale sugeruję sprawdzić.)
Patrząc na ogólny obraz, widzę KVM jako odpowiedź Linuksa na strefy Solaris. (Wolałbym mieć strefy Solaris, ale widzę równoległość.) Widzę Xen jako dojrzałą technologię hypervisora z obsługą wielu systemów operacyjnych, ale jeśli nie potrzebujesz wielu systemów operacyjnych, nie ma to większego znaczenia.
Szczerze mówiąc, nie możesz popełnić błędu w żaden sposób (biorąc pod uwagę powyższe zastrzeżenia). Wolę Xen, ponieważ pojechałem do Cambridge; ale wtedy, gdybym pracował dla RH, prawdopodobnie wolałbym KVM.
źródło
Bardzo interesujące informacje na ten temat można znaleźć w następującej prezentacji: Porównanie ilościowe Xen i KVM
Osoba, która to zrobiła, jest ekspertem od Xen, ale porównanie wydaje się dość uczciwe.
źródło
Mógłbym tu iść na całość, ale nie sądzę, że surowa wydajność jest najważniejszą miarą, jeśli chodzi o takie technologie.
Myślę, że użyteczność i interfejs są ważne, a także narzędzia wspierające niezawodną infrastrukturę. Wydaje mi się, że Xen ma o wiele bardziej solidny zestaw istniejących aplikacji, które go obsługują, niż KVM. Może tak nie być, ponieważ nie mam dowodów na poparcie tego.
Niezależnie od tego, co wybierzesz, zdecyduj, które rozwiązanie jest dla Ciebie najlepsze, i spójrz na cały pakiet, a nie tylko na czystą wydajność.
źródło
Wiele trudności lub łatwości konfiguracji KVM zależy od dystrybucji. Wybór dystrybucji skoncentrowanej na Xen ułatwi Xen. Wybór dystrybucji skoncentrowanej na KVM ułatwi KVM.
Pytanie o narzędzia jest nieco nieistotne, ponieważ oba używają libvirt. Oznacza to, że w większości przypadków używasz tych samych narzędzi zarządzania.
źródło
Pod koniec 2017 roku Amazon, który wcześniej był największym użytkownikiem Xen, ogłosił, że będzie używać KVM dla wszystkich nowych typów instancji C5 . Według mojej najlepszej wiedzy, tylko dostawca chmury SoftLayer pozostaje jako duży użytkownik Xen. Linode zmienił się w 2015 roku i zgłosił znaczną poprawę wydajności .
Trudno jest znaleźć realistyczne i aktualne porównanie wydajności, ale wydaje się, że nie ma tak dużej luki między oboma rozwiązaniami, jak mogłoby się wydawać. W zależności od przypadku użycia Xen może być jeszcze szybszy. KVM ma inne zalety, które są częścią jądra Linuksa i są uwzględnione przez RedHat. Na przykład ta odpowiedź wyjaśnia, dlaczego Google wybiera KVM dla Google Compute Engine.
Mimo to fakt, że prawie wszyscy dostawcy chmury, zwłaszcza Google i Amazon, wybierają KVM zamiast Xen, jest mocnym argumentem, że w przypadku typowych obciążeń KVM jest bardzo dobrym wyborem pod względem wydajności.
źródło