Czy maszyna wirtualna jest wolniejsza od podstawowej maszyny fizycznej?


50

To pytanie jest dość ogólne, ale najbardziej interesuje mnie, czy maszyna wirtualna z systemem Ubuntu Enterprise Cloud będzie wolniejsza niż ta sama maszyna fizyczna bez wirtualizacji. Ile (1%, 5%, 10%)?

Czy ktoś mierzył różnicę wydajności serwera WWW lub serwera db (wirtualny VS fizyczny)?

Jeśli zależy to od konfiguracji, wyobraźmy sobie dwa czterordzeniowe procesory, 12 GB pamięci i kilka dysków SSD, na których działa 64-bitowy serwer korporacyjny Ubuntu. Ponadto tylko 1 maszyna wirtualna może korzystać ze wszystkich dostępnych zasobów.


1
Ubuntu Entreprise Cloud opiera się na KVM, a nie Xen.
Antoine Benkemoun

1
Antoine, masz rację - „Podstawowa strategia wirtualizacji zawsze była oparta na KVM, chociaż wraz z rozwojem lib-virt zarządzanie hostami KVM i Xen jest zunifikowane”. - Zredaguję wzmiankę o Xen.
Michal Illich

Odpowiedzi:


31

Typowe doświadczenie dla obciążenia serwera ogólnego przeznaczenia na czystym metalu \ Hypervisor typu 1 to około 1-5% obciążenia procesora i 5-10% obciążenia pamięci, z pewnym dodatkowym obciążeniem, które różni się w zależności od ogólnego obciążenia operacji we / wy. Jest to dość spójne z moim doświadczeniem dla nowoczesnych systemów operacyjnych gościa działających pod VMware ESX \ ESXi, Microsoft Hyper-V i Xen, w których sprzęt został odpowiednio zaprojektowany. W przypadku 64-bitowych systemów operacyjnych serwera działających na sprzęcie obsługującym najnowsze rozszerzenia sprzętowe do wirtualizacji procesora oczekiwałbym, że wszystkie hiperwizory typu 1 zmierzą w kierunku tego 1% narzutu. Dojrzałość KVM nie jest w tej chwili całkiem zależna od Xen (lub VMware), ale nie widzę powodu, aby sądzić, że byłoby to zauważalnie gorsze od nich w opisanym przez ciebie przykładzie.

W szczególnych przypadkach użycia ogólna \ łączna „wydajność” środowiska wirtualnego może przekroczyć serwery typu bare metal / dyskretne. Oto przykład dyskusji na temat tego, w jaki sposób implementacja klastrowa VMware może być szybsza \ lepsza \ tańsza niż zwykły Oracle RAC. Techniki zarządzania pamięcią VMware (szczególnie przejrzyste udostępnianie stron) mogą prawie całkowicie wyeliminować narzut pamięci, jeśli masz wystarczająco dużo maszyn wirtualnych, które są wystarczająco podobne. Ważną rzeczą we wszystkich tych przypadkach jest to, że korzyści związane z wydajnością i wydajnością, jakie może zapewnić wirtualizacja, zostaną zrealizowane tylko wtedy, gdy konsolidujesz wiele maszyn wirtualnych na hostach, twój przykład (1 maszyna wirtualna na hoście) zawsze będzie do pewnego stopnia wolniejszy niż goły metal .

Chociaż jest to przydatne, rzeczywiste problemy związane z wirtualizacją serwerów koncentrują się wokół zarządzania, technik wysokiej dostępności i skalowalności. Margines wydajności procesora 2-5% nie jest tak ważny, jak możliwość skutecznego skalowania do 20, 40 lub dowolnej liczby maszyn wirtualnych potrzebnych na każdym hoście. Możesz poradzić sobie z obniżeniem wydajności, wybierając nieco szybszy procesor jako linię bazową lub dodając więcej węzłów w klastrach, ale jeśli host nie może skalować liczby maszyn wirtualnych, może uruchomić lub środowisko jest trudne do zarządzania lub zawodny, to jest bezwartościowy z punktu widzenia wirtualizacji serwerów.


7
Używasz przestarzałej technologii - zwłaszcza narzut pamięci od 5% do 10% to stary sprzęt. Nowsze układy sprzętowe mają narzut od około 2% do 3%, jeśli hiperwizor je obsługuje - i mówimy o tym, że rzeczy, które mają rok, są nowe. Do tego czasu AMD i Intel ulepszyły API do mapowania pamięci Hyper-Visor. Jak powiedziałeś później, są one dość przejrzyste (cel 1%). +1 za wskazanie prawdziwych korzyści.
TomTom,

1
Oparłem 5-10% na tym, co widziałem w VMware i jest on oparty na zestawie przed EPT \ RVI. Ma sens, że ulepszone sprzętowe zarządzanie pamięcią wirtualną w najnowszych procesorach zmniejszy obciążenie pamięci RAM
Helvick

jeśli chodzi o przejrzyste udostępnianie stron, jest do bani, gdy masz duże strony pamięci, które obsługują wszystkie nowe procesory. W tym przypadku w zasadzie nic nie zyskujesz.
Tony Roth

1
@ Tony to prawda, tylko jeśli nie jesteś zbytnio zaangażowany - jeśli tak, to ESX \ ESXi 4 zdecyduje się na użycie małych stron, a TPS zacznie działać. Nie przesunąłem tego do granic możliwości, więc nie mogę potwierdzić, że to naprawdę działa zgodnie z reklamą, ale jest to rozsądne podejście, które powinno pozwolić na nadmierne zaangażowanie, gdy jest to absolutnie wymagane, bez poświęcania wydajności, gdy nie jest to wymagane. Zobacz kb.vmware.com/selfservice/microsites/…
Helvick

1
@Helvick, jeśli korzystasz z gościa win7 lub w2k8r2, TPS nie działa zbyt wiele, ponieważ gość agresywnie głosi pewne rzeczy.
Tony Roth

23

„Wydajność” ma wiele aspektów. N00bs mierzy czas rozruchu systemu operacyjnego i mówi, że np. Windows 2012 jest bardzo świetny, ponieważ uruchamia się w 12 sekund na prawdziwym HD, może 1 sekundę na SSD.
Ale ten rodzaj pomiaru nie jest bardzo przydatny: wydajność jest równa czasowi uruchamiania systemu operacyjnego, ale system operacyjny uruchamia się raz w miesiącu tak optymalizując, że nie ma to większego sensu.

Ponieważ to moja codzienna działalność, mogę wskazać 4 następujące części składające się na „wydajność”

  1. Obciążenie procesora
    Powinno to być porównywalne, co oznacza, że ​​zadanie zajmujące 1000 ms na goły metal wykona się w czasie 1000 ms i prawdopodobnie 1050 ms w taktowaniu bezczynnego środowiska VM na tym samym sprzęcie (niektóre szczegóły później). Google MSDN dla czasu procesora i kwerendy licznika zapytań i ty możesz zrobić coś, co może pokazać, ile VM pochłania twój czas procesora.

  2. Wydajność SQL
    Wydajność SQL w dużej mierze zależy od operacji we / wy do magazynu danych, w którym przechowywane są dane SQL. Widziałem 300% różnicy między ISCSI 1. generacji, które można znaleźć na macierzystym serwerze NAS Buffalo, a następnie ISCSI z DCE i prawdziwym oldschoolowym środowiskiem FC na wszystkich poziomach. FC nadal wygrywa w dzisiejszych czasach, ponieważ opóźnienie FC jest najmniejszym możliwym do archiwizacji, co prowadzi do „kopii” protokołu FC dla ulepszeń centrum danych TCP / IP. Tutaj IOps i opóźnienia są niezbędne, ale także przepustowość IO od procesu serwera do mediów - zależy od tego, czy aplikacja ma tendencję do No-SQL lub Datawarehousing, czy też znajduje się w środku takich systemów ERP ... Sage KHK dla małych przedsiębiorstw, SAP dla wielkich.

  3. Dostęp do systemu plików
    Niektóre aplikacje, takie jak przesyłanie strumieniowe wideo, wymagają minimalnej przepustowości, inne polegają na maksymalnej przepustowości we / wy, np. Otwieranie dużych plików w edytorze szesnastkowym, ładowanie projektu wideo do ulubionego programu do tworzenia filmów. Nie jest to typowa sytuacja na vm .... IOps może być również ważne dla programistów. Programiści często korzystają z maszyn wirtualnych, ponieważ środowiska programistyczne są bardzo wrażliwe, dlatego pokusa, aby to zrobić na maszynie wirtualnej, jest wysoka. Kompilacja dużego projektu często oznacza odczytywanie ton małych plików, robienie kompilatora i kompilację EXE oraz komponentów.

  4. Opóźnienie sieci w stosunku do klienta
    Tutaj użyteczność WYSIWIG przebiega podobnie jak Word 2010, Openoffice Writer, LaTEX, GSView i inne, w dużym stopniu zależą od szybkości - szybkości działania myszy od klienta do serwera. Jest to szczególnie ważne w aplikacjach CAD ... ale także nie dotyczy sieci LAN, to jest zdalny dostęp przez WAN, gdzie jest to ważne.

Ale - i mówię z perspektywy lat konsultacji - są użytkownicy posiadający hasło administratora (i często są to pracownicy BIG firmy z DUŻYM budżetem i DUŻYM portfelem) narzekający na to i tamto, ale należy to wyjaśnić który komponent wydajności jest dla nich ważny i który jest ważny z punktu widzenia używanej aplikacji.
Najprawdopodobniej nie jest to notatnik, ale wysoce wyrafinowana aplikacja do inżynierii tego i tamtego, co również było bardzo kosztowne i powinno zostać przeniesione na VMware, HyperV lub Xenapp i nie działa zgodnie z oczekiwaniami.

Ale nie mają na myśli, że może działać na Xeonach 1,5 GHz na łopatach nieprzeznaczonych do czystej wydajności procesora, są zbudowane dla średniej, powiedzmy „zoptymalizowanej dla $ na cykl procesora” lub „cykli procesora na wat” .

A kiedy mówimy o kompromisach i ekonomizacjach - prowadzi to głównie do nadmiernego zaangażowania. Nadmierne zaangażowanie prowadzi do braku zasobów, w których procesor może być obsługiwany całkiem dobrze, ale brak pamięci prowadzi do stronicowania, brak operacji we / wy w podstawowych routerach prowadzi do wydłużenia czasu odpowiedzi na wszystko, a przeciążenie transakcyjne dowolnego rodzaju pamięci może zatrzymać każdą przydatną aplikację od zbyt szybkiego reagowania. Tutaj wymagane jest monitorowanie, ale wielu dostawców oprogramowania nie jest w stanie dostarczyć takich informacji .... z drugiej strony host z zasobami 3 fizycznych serwerów może najprawdopodobniej obsłużyć 8 maszyn wirtualnych o takim samym układzie jak fizyczne ...

Kompromisy procesora w bezczynnych systemach często prowadzą do tego, że systemy działają o 50% wolniej niż systemy fizyczne, z drugiej strony nikt nie jest w stanie zainstalować systemu „rzeczywistego” i aplikacji „rzeczywistego świata”, informatycy klienta chcą przenieść się na maszynę wirtualną pudełko. I zajmuje to kilka dni (może tygodni, ale na pewno 42 spotkania), aby wyjaśnić, że technologia VM może zaoferować elastyczność, handlując czystą prędkością procesora. Jest to po prostu wbudowane w procesory w tych systemach typu blade obsługujących obecnie większe środowiska VM. Również pamięć nie będzie porównywalna, obowiązują również pewne kompromisy. DDR3 1600 CL10 będzie miał większą przepustowość pamięci niż DDR2 800 ECC LLR - i wszyscy wiedzą, że procesory Intel korzystają z tego w inny sposób niż AMD cpus. Ale rzadko są stosowane w środowiskach produkcyjnych, więcej w białych skrzynkach lub centrach danych hostowanych w krajach trzeciego świata, którzy oferują usługi centrum danych za 10% ceny, jaką centrum danych w twojej ojczyźnie może zapłacić. Dzięki Citrx centrum danych może być wszędzie, jeśli opóźnienie między użytkownikiem końcowym a centrum danych jest mniejsze niż 150 ms.

I perspektywa użytkowników domowych ....

Wreszcie, niektórzy ludzie chcą wyrzucić Win7 lub XP i wymienić je na Linuksa, a potem pojawia się pytanie dotyczące gier, ponieważ w rzeczywistości tylko kilka gier jest dostępnych dla Linuksa i Windowsa. Gra opiera się w dużej mierze na akceleracji 3D. Stacja robocza VMWare 6.5 i podłączony bezpłatny odtwarzacz mogą obsługiwać DirectX 9, co oznacza, że ​​Doom3 na maszynie wirtualnej może działać na głównej karcie graficznej na pełnym ekranie. Gry to w większości 32-bitowe aplikacje, więc nie zjedzą więcej niż 3 GB i przeważnie nie więcej niż 3 procesory (widoczne na Crysis). Nowsze maszyny VM i WS obsługują wyższe wersje DirectX i prawdopodobnie również OpenGL ... Grałem w UT i UT2004 na VMware 6.5, host miał ATI Radeon 2600 mobile i procesor T5440. Był stabilny przy 1280 x 800 i można go odtwarzać nawet w grach sieciowych ...


1
Lubimy dobre odpowiedzi na ponadczasowe pytania. Witaj w Server Fault!
Michael Hampton

9

Tak. Ale to nie jest pytanie. Różnica jest zwykle nieistotna (od 1% do 5%).


3
Wierzę ci. Ale mimo to: czy możesz powiązać punkt odniesienia z miejscem, w którym ktoś go rzeczywiście zmierzył?
Michal Illich

9
To zależy od tak wielu czynników, że nikt nie może odpowiedzieć na twoje pytanie. Zależy to od posiadanego hiperwizora, specyfikacji serwera, pamięci i, co najważniejsze, co się dzieje z hostem w danym momencie.
Chopper3 24.04.2010

W rzeczywistości tak nie jest. Naturalnie, jeśli robisz wiele rzeczy, fizyczna maszyna jest współdzielona. Ale narzut hiper-wizjera jest teraz dość stały, biorąc pod uwagę wirtializację sprzętu. Wcześniej, jeśli zaczniesz ładować wiele maszyn wirtualnych, powstałe dostępne powe jest współdzielone, ale jest - w sumie - wciąż tylko nieco mniejsze niż to, co ma serwer.
TomTom

11
Wymagany cytat.
Zoredache

narzut hiperwizora zależy od tego, ile systemu operacyjnego można oświecić, a to nie oznacza parawirtualizacji.
Tony Roth

8

Chciałbym zauważyć, że wirtualizacja może w niektórych sytuacjach przewyższyć wydajność fizyczną. Ponieważ warstwa sieci nie jest ograniczona do prędkości gigabitowej (mimo że emulacja sprzętowa dotyczy określonej karty LAN), maszyny wirtualne na tym samym serwerze mogą komunikować się między sobą z prędkością przekraczającą prędkość wielu serwerów fiskalnych ze średnim sprzętem sieciowym.


2
Dwa programy działające na dwóch maszynach wirtualnych na tym samym serwerze nie będą komunikować się szybciej niż dwa programy w tym samym systemie operacyjnym na jednym serwerze bez systemu operacyjnego.
bokan

1

Przeprowadziłem kilka porównań testowych tego samego oprogramowania z tym samym testem (aplikacja internetowa oparta na .NET z dużym natężeniem ruchu sieciowego i znacznym dostępem do SQL Server). Oto co widziałem:

  • Maszyna fizyczna jest lepsza w tworzeniu instancji klas (co przekłada się na przydzielanie pamięci na poziomie systemu) - ma to dla mnie sens, ponieważ maszyny fizyczne robią to za pomocą sprzętu do zarządzania pamięcią, a maszyny wirtualne robią to za pomocą oprogramowania (z częściową asystą sprzętową) (na maszynie wirtualnej , aplikacja spędzała znaczną ilość czasu w swoich konstruktorach (gdzie pamięć jest przydzielana (i nic więcej nie jest robione), na maszynie fizycznej, konstruktory nie zostały nawet uwzględnione w pierwszej 1000)
  • Gdy jesteś w trakcie metody, oba są prawie równoważne - prawdopodobnie w ten sposób zbudowana jest większość testów porównawczych, które pokazują, że dwa „są takie same”
  • Gdy uzyskujesz dostęp do kontrolera sieciowego, fizyczność trochę wygrywa z maszyną wirtualną - znowu, fizyczność nie ma zbyt wiele miejsca pomiędzy procesem .NET a sprzętem. VM dodaje kolejne „rzeczy”, przez które musi przejść każda transakcja.
  • Naprawdę to samo dotyczy dostępu do dysku (SQL Server był na innym komputerze) - różnica jest bardzo mała, ale po dodaniu ich wszystkich jest zauważalna. Może to być spowodowane wolniejszym dostępem do sieci lub wolniejszym dostępem do dysku.

Łatwo mogę zobaczyć, jak ktoś może budować testy porównawcze, które dowodzą, że są one o 1% różne lub takie same lub gdzie maszyny wirtualne są szybsze. Nie uwzględniaj niczego, w przypadku gdy Twój proces korzysta z zalet lokalnego wsparcia sprzętowego, w którym maszyna wirtualna musi symulować to w oprogramowaniu.


Właśnie tego szukałem. +1
Phil Ricketts,

1

Próbujesz porównać system operacyjny, oprogramowanie i dane zainstalowane na określonym fizycznym sprzęcie z tym samym systemem operacyjnym, oprogramowaniem i danymi zainstalowanymi samodzielnie w hiperwizorze na tym samym oryginalnym sprzęcie. To porównanie jest po prostu nieprawidłowe, ponieważ prawie nikt tego nie robi (przynajmniej na początku). Oczywiście byłoby to wolniejsze. Na szczęście całkowicie pomija najczęstszy punkt, dlaczego w ogóle wirtualizujesz serwery.

Lepszym przykładem jest tutaj spojrzenie na dwa (lub więcej!) Starsze serwery w twoim centrum danych. Poszukaj serwerów, które działają dość dobrze, ale są już stare i zbliżają się do cyklu odświeżania. Te serwery już działają dobrze na starszym sprzęcie, więc dzięki prawu Moore'a wszystko, co dostaniesz, będzie znacznie lepsze.

Więc co robisz? To proste. Zamiast kupować dwa nowe serwery, kupujesz tylko jeden, a następnie migruj oba stare serwery na to samo fizyczne nowe urządzenie. Przygotowując się do zakupu nowego serwera, planujesz, aby mieć wystarczającą pojemność, aby nie tylko obsłużyć obciążenie z obu starszych serwerów, ale także wszelkie obciążenie z hiperwizora (i może trochę więcej, aby nadal uzyskać wzrost wydajności i może pozwolić na wzrost).

Podsumowując: maszyny wirtualne zapewniają wystarczającą wydajność w większości sytuacji i pomagają lepiej wykorzystać serwery, aby uniknąć „zmarnowanej” mocy obliczeniowej.

Teraz rozciągnijmy to trochę dalej. Ponieważ są to stare serwery, być może patrzyłeś na kilka prostych serwerów koszących pizzę za 1500 USD, aby je wymienić. Możliwe, że nawet jedno z tych pudełek do pizzy nadal z łatwością poradzi sobie z obciążeniem z obu hipotetycznych starszych maszyn ... ale powiedzmy, że zamiast tego wydajesz 7500 USD lub więcej na prawdziwy sprzęt. Teraz masz urządzenie, które może z łatwością obsłużyć nawet kilkanaście istniejących serwerów (w zależności od tego, jak obchodzisz się z pamięcią masową i siecią), przy początkowym koszcie wynoszącym tylko 5. Masz również zalety zarządzania tylko jednym serwerem fizycznym, oddzielając Twoje oprogramowanie ze sprzętu (np. odświeżanie sprzętu jest mniej prawdopodobne, że będzie wymagało nowej licencji Windows lub spowoduje przestoje), oszczędzasz mnóstwo energii, a twój hypervisor może dostarczyć ci lepszych informacji na temat wydajności niż „ mieliśmy w przeszłości. Zdobądź dwa z nich, w zależności od tego, jak duży jesteś, być może całe twoje centrum danych jest ograniczone tylko do dwóch komputerów, a może chcesz użyć drugiego serwera jako gorącego trybu gotowości, aby opowiedzieć lepszą historię wysokiej dostępności.

Chodzi mi o to, że nie chodzi tylko o wydajność. Nigdy nie wziąłbym idealnie dobrego serwera produkcyjnego i sam zwirtualizowałbym go do równoważnego sprzętu tylko dlatego. Bardziej dotyczy oszczędności kosztów i innych korzyści, które można uzyskać dzięki konsolidacji, takich jak wysoka dostępność. Uświadomienie sobie tych korzyści oznacza, że ​​przenosisz serwery na inny sprzęt, a to z kolei oznacza, że ​​musisz poświęcić czas na odpowiednie dobranie sprzętu, w tym uwzględnienie kary hiperwizora. Tak, możesz potrzebować nieco więcej mocy obliczeniowej niż gdyby każda z tych maszyn znajdowała się na własnym urządzeniu fizycznym (wskazówka: prawdopodobnie prawdopodobnie potrzebujesz znacznie mniej całkowitej mocy obliczeniowej ), ale będzie o wiele tańsza, bardziej energooszczędna, i łatwiejsze do utrzymania aby uruchomić jeden serwer fizyczny niż wiele.


2
Nie zawsze chodzi o konsolidację i oszczędność kosztów. Hiperwizor to produkt z wieloma funkcjami, z których wiele może potencjalnie zwiększyć wartość biznesową niezależnie od powodów wirtualizacji większości osób. Konsolidacja i oszczędność kosztów mogą być częścią tej wartości biznesowej lub nie. Migawki, migracja na żywo, Storage vMotion i abstrakcja sprzętu mogą być częścią strategii biznesowej IT.
jgoldschrafe

@jgold Point zrobione. Zapomniałeś nawet o dużej: wysokiej dostępności. W mojej obronie wspomniałem o abstracji sprzętowej (w pewnym sensie) w mojej ostatniej edycji, a dla kogoś, kto właśnie odkrywa wirtualizację pod kątem pierwotnego pytania, myślę, że konsolidacja / koszt jest naprawdę ważnym punktem do przekazania.
Joel Coel

Pytanie o porównanie wydajności, które jest całkowicie poprawnym aspektem, aby chcieć zbadać wirtualizację, a nie to, dlaczego wirtualizacja jest lub nie jest przydatna.
Nick Bedford

0

Właśnie uaktualniłem do SSD (OCZ Vertex 2) i uruchamiam na nim moje środowisko programistyczne dla maszyn wirtualnych XP, jestem programistą. Zauważyłem jedną rzecz: kiedy uruchamiam program (wystarczająco duży, aby załadować czas), jeden rdzeń wirtualnego procesora zostaje ustalony. Dzieje się tak podczas ładowania IE. Ponieważ procesor się wyłącza, zakładam, że wąskim gardłem jest procesor, a nie dysk SSD. Ale wydaje się to dziwne, mam wrażenie, że gdyby to samo zrobiono na maszynie fizycznej, ładowałoby się ono szybciej, a mam wrażenie, że istnieje dodatkowe obciążenie związane z przetwarzaniem, które VMWare zużywa procesorem na dostęp do dysku.

Jeden przykład: używam Delphi i na fizycznym komputerze ze zwykłym dyskiem twardym uruchomienie z zimnego rozruchu może zająć 20 sekund. W maszynie wirtualnej z dyskiem SSD ładuje się w ciągu 19 sekund od zimnego startu. Niewielka różnica, założę się, że gdyby dysk SSD znajdował się na fizycznej maszynie, ładowałby się szybciej. Jednak nie sprawdziłem użycia procesora na maszynie fizycznej, możliwe, że procesor również tam był wąskim gardłem.

Ale VM ma wrażenie, że dostęp do dysku opodatkuje VM.


0

Oczywiście maszyna wirtualna jest wolniejsza niż maszyna fizyczna. Ale kiedy jesteś w tym scenariuszu, musisz ocenić, co jest optymalne na pokrycie twoich potrzeb. Jeśli potrzebujesz tylko jednego systemu i potrzebujesz go szybko, zainstaluj go bezpośrednio na sprzęcie. Z drugiej strony, jeśli potrzebujesz elastyczności, skalowalności (i wszystkich innych zalet wirtualizacji: P), wdróż maszynę wirtualną. Będzie wolniej, ale w niektórych przypadkach IMHO jest uzasadnione, a wydajność nie jest znacznie wolniejsza.


0

Wygląda na to, że Microsoft przeprowadził pewne testy porównawcze przy użyciu serwera BizTalk i SQL Server w różnych konfiguracjach pod tym względem. Zobacz link poniżej:

http://msdn.microsoft.com/en-us/library/cc768537(v=BTS.10).aspx


3
Przytaczaj wnioski w swoich odpowiedziach lub to niewiele więcej niż SPAM dla podanego linku. Dziękuję Ci.
Chris S

SQL Server performanceacne Współczynnik wirtualny do fizyczny (przy użyciu BizTalk: Wiadomości / Przetwarzane dokumenty / Metryka Sec, która wydaje się być w rzeczywistości rzeczywista) jest szacowany na 88% - przy użyciu HyperV. Nie wygląda dobrze
deadbeef

O mój boże, czy to plik PDF 250 MB? O_O
David Balažic,

-1

Idealnie, wydajność wirtualnego komputera wynosi:

Procesor: 96–97% hosta

Sieć: 70–90% hosta

Dysk: 40–70% hosta


3
A te liczby pochodzą od ...
Jim B

-4

Przepraszam, że nie zgadzam się z TomTom.

Od jakiegoś czasu korzystam z VMware Workstation, głównie na Windows XP, Windows Vista, a teraz rodzime systemy Windows Seven do uruchamiania różnych wersji Windows, a także Ubuntu.

Tak, zwirtualizowane środowisko działa wolniej niż system macierzysty i może zawierać się w przedziale od 5 do 100%.

Głównym problemem nie jest tak duże obciążenie procesora, ale brak pamięci fizycznej.

Załóżmy, że masz Windows Seven 64 Ultimate działający na systemie 4 Gb, który gdy bezczynny potrzebuje prawie 1,5 Gb i zużywa ~ 10% procesora. Uruchomienie dodatkowej warstwy VMware będzie kosztować ~ 300 Kb, a obciążenie procesora wzrośnie do ~ 20%. Następnie uruchomienie systemu wirtualnego w VMware zażąda co najmniej ilości pamięci zdefiniowanej dla tej maszyny wirtualnej, co najmniej 1 Gb dla dowolnego przyzwoitego systemu. Wtedy zobaczysz obciążenie procesora ~ 60%, jeśli maszyną wirtualną jest Ubuntu i ~ 80% dla dowolnego smaku najnowszego systemu operacyjnego Windows.

Teraz uruchomisz różne aplikacje na tej maszynie wirtualnej.

Jeśli ilość pamięci ustawiona dla tej maszyny wirtualnej jest niewystarczająca, zwirtualizowany system zacznie się zamieniać, a następnie znacznie spowolni ogólną wydajność i czas reakcji.

Jeśli suma ilości pamięci ustawionej dla tej maszyny wirtualnej plus ilość pamięci potrzebnej dla twojego systemu natywnego jest większa niż ilość pamięci twojego systemu natywnego, wtedy twój system natywny będzie się zamieniał, zwalniając zarówno natywny, jak i zwirtualizowany system.

Tak więc najpierw zależy od równowagi pamięci potrzebnej zarówno dla maszyn natywnych, jak i zwirtualizowanych.

Teraz jest prawie tak samo z obciążeniem procesora. Jeśli zwirtualizowana aplikacja wymaga dużego obciążenia procesora, a aplikacja natywna również wymaga dużego obciążenia procesora, Twój system natywny będzie musiał zarządzać priorytetem i równoważyć ładunek procesora między różnymi aplikacjami, przy czym zwirtualizowany system to nic innego jak aplikacja, ale to Zjawisko to jest klasyczny problem z obciążeniem procesora, który można oszukać za pomocą priorytetów aplikacji.

Tak więc, moja pierwsza rada, jeśli chcesz korzystać z wirtualizacji, to włożenie do pamięci dużej ilości pamięci, niezależnie od systemu operacyjnego, z którego korzystasz natywnie lub na maszynie wirtualnej.

Tylko moje 2 centy.

Z poważaniem.


Wyobraź sobie tę konfigurację: pamięć 12 GB, dwa czterordzeniowe procesory. Na dodatek tylko 1 maszyna wirtualna z 11,5 GB pamięci i całą mocą procesora. Czy nadal będzie jakieś zauważalne spowolnienie?
Michal Illich

3
W jaki sposób Win7 x64 potrzebuje 1,5 GB (lub dowolnego procesora w ogóle), gdy jest bezczynny? Bardziej jak 384-512 MB z mojego doświadczenia - reszta jest zarezerwowana do buforowania we / wy i zostanie wydana w razie potrzeby gdzie indziej ^^
Oskar Duveborn

4
Ale mówisz o wirtualizacji stacji roboczych, a nie o czystym metalu Hypervisor, który ma ułamek kosztów ogólnych w porównaniu do wirtualizacji w systemie Windows. Chmura Ubuntu może nie być zwykłym hiperwizorem, ale prawie nie korzysta z zasobów systemu Windows - działa na Ubuntu Server, który nie ma na przykład GUI.
Jon Rhoades

3
-1: Bardzo słabe porównanie. VM Workstation NIE jest hiperwizorem. Po drugie, mówisz o uruchamianiu dużych obciążeń na hoście; oczywiście będzie to miało wpływ na maszynę wirtualną gościa.
gravyface 24.04.2010

1
@ Oskar> W jaki sposób Win7 x64 potrzebuje 1,5 GB (lub w ogóle dowolnego procesora), gdy jest bezczynny? Raczej 384-512MB w moim doświadczeniu Spójrz na to zdjęcie theliberated7dwarfs.as2.com/pictures/png/W7-Mem.png systemu Windows 7-64, 4 GB pamięci RAM, świeżym restarcie żadna aplikacja runiczny ale MSFT ważne jest bezpieczeństwo i Kapersky! Ups: zużyte 1,53 GB pamięci RAM i średnio 7% obciążenia procesora! @ TomTom & gravyface 1-Pierwsze pytanie dotyczyło ogólnej maszyny wirtualnej, a nie hiperwizora! Platforma techniczna 2-My crapy stanowi fortunę zarówno dla MSFT, jak i VMware. Może ci się to podobać lub nie, a ja nie będę cię winić;) Z poważaniem
Dopey

-4

Z mojego doświadczenia wynika, że ​​maszyny wirtualne są zawsze znacznie wolniejsze od fizycznych POZA PUDEŁKIEM.

Zauważysz to tylko podczas uruchamiania aplikacji, które uderzają w dysk i bardzo obciążają procesor. Uruchomiłem wiele baz danych i serwerów internetowych na maszynach wirtualnych, a jako użytkownik końcowy i opinie innych użytkowników (tj. Dostęp do aplikacji ze zdalnej przeglądarki internetowej) przy korzystaniu z maszyn wirtualnych występują duże opóźnienia.

Oczywiście właściwie skonfigurowana maszyna wirtualna może osiągnąć 80% (nie znam rzeczywistej liczby) lub jakąkolwiek prędkość maszyny fizycznej, ale ostatecznie musisz naprawdę zagłębić się w to, co robi aplikacja i jak maszyna wirtualna Pracuje. Sądzę więc, że jest to równanie kosztu tego, jak cenny jest twój czas, aby skonfigurować wersety maszyn wirtualnych, kupując i hostując nowy serwer.

Dla mnie maszyny wirtualne NIE SĄ O WYDAJNOŚCI, ale o tym, że są łatwiejsze do zarządzania i hostowania kilku maszyn wirtualnych o niskiej wydajności.


2
Wydaje się, że używasz naprawdę bzdurnej techniki wirtualizacji. Poważnie;) MS dokonało porównań wydajności z Hyper-V i SQL Server - i wymyśliło liczby, które są o około 3% narzutem na samą maszynę. Oczywiście oznacza to, że można uruchomić tylko jedną maszynę wirtualną lub zaakceptować, że wydajność jest podzielona - ale narzut wirtualizacji jest naprawdę niski. I nie chodzi tylko o hosting kilku maszyn wirtualnych o niskiej wydajności. Może też dotyczyć łatwości konserwacji - przeniesienie maszyny wirtualnej na nową trudną wojnę, fizyczna maszyna może być bardziej skomplikowana.
TomTom

@TomTom. Chciałbym ci wierzyć, ale Microsoft oczywiście chce powiedzieć wszystkim, że ich hiperwizor jest super szybki. Wiem od firm, które próbowały wirtualizacji Microsoft ORAZ VmWare, że Microsoft mówi tylko „marketing”. Czy sam to przeprowadziłeś? Jeśli otrzymasz 3% narzutu, daj mi znać swoją konfigurację, ponieważ chciałbym spróbować
Zubair

2
Cholera, Zubair. Nie jestem idiotą - wcześniej przeprowadzałem testy. Przeniosłem wiele rzeczy do maszyn wirtualnych i ledwo ostatnio uruchamiam cokolwiek fizycznego. Sam zrobiłem test porównawczy. Oczywiście hiperwizory są trudne - ludzie umieszczają wiele serwerów na maszynie i przeciążają ją. Najprawdopodobniej faktycznie w obszarze IO (wydajność płyty). Ale to wszystko nie jest nierozerwalnie związane z hiperwizorem. To samo z pamięcią RAM - tak, potrzebujesz dużo i tak, symulowane maszyny nadal potrzebują swojej ilości pamięci RAM, aby być wydajnym. Ale to nie jest problem z hyper-daszkiem.
TomTom,

2
@TomTom. Czy masz jakieś linki, które mógłbym przeczytać, aby dowiedzieć się więcej o testach wydajności wirtualnej vs fizycznej
Zubair

1
@Zubair - chociaż sam jestem w 100% człowiekiem VMWare, muszę się z tym zgodzić z TomTom, widzę jednak bardzo niewielki spadek wydajności operacji procesora i pamięci na nowoczesnym, dobrze skonfigurowanym sprzęcie, tak ciężkie współbieżne mieszane odczytywanie / zapisywanie Wpływ na operacje wejścia / wyjścia jest zauważalnie większy niż procesor i pamięć, ale nadal mówimy o jednocyfrowej utracie percentyla we wszystkich obszarach. Zarządzam prawie 1000 hostów ESXi w firmie z ponad 8000 i jesteśmy przekonani, że tylko garstka bardzo mocno powiązanych aplikacji IO jest nieodpowiednia dla ESXi.
Chopper3
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.