Jump to content

Performanceverlust durch Virtualisierung


Direkt zur Lösung Gelöst von KingKompass,
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo,

das ist heute mein erster Post in diesem Forum,

ich lese zwar schon seit einiger Zeit sehr interessiert mit, habe aber nun eine Frage, 

die ich mir auch nach längerem Suchen (WEB/Forum) nicht beantworten konnte. 

Nun hoffe ich auf eure Erfahrung und fachliche Kompetenz.

 

Die Frage ist eher allgemein gehalten, es geht dabei um den Performanceverlust durch

Virtualisierung, insbesondere unter Hyper-V (Server 2012 R2).

Welche Einbußen habe ich durch die Virtualisierungsschicht des aktuellen Hyper-V zu erwarten. 

Als Beispiel könnte man einen physikalischen SQL Server nehmen, wobei natürlich auch jeder andere

Servertyp in Frage kommt.

Einmal würde ich diese Maschine als physikalische Maschine aufsetzten:

 

2x Xeon E5-2623v3

64GB RAM

Raid1 2x SSD für OS 

Raid10 4x SSD für Daten (SQL Datenbank)

 

Und einmal würde ich die gleiche Maschine unter Hyper-V zum Einsatz bringen und dort

auch nur EINEN Server (Gast) installieren um das ganze vergleichbar zu machen.

 

2x Xeon E5-2623v3

64GB RAM

Raid1 2x SSD für Host 

Raid10 4x SSD für Gäste 

 

Wie hoch sind nun die Leistungseinbußen (prozentual eventuell auch gefühlt :) ) die durch die Virtualisierungsschicht des Hyper-V unter Server 2012 R2 entstehen.

Ich habe dazu nur ein paar ältere Dokumente gefunden, aber leider nichts aktuelles was den Hyper-V unter Server 2012 R2 betrifft. 

Vielleicht kann jemand etwas dazu sagen, bzw hat Quellen für Benchmarks oder andere Infos, gerne auch persönliche Erfahrungen.

Vielen Dank schon einmal im voraus für eure Mühen !

 

Mit freundlichen Grüßen

Michael

 

 

 

Link zu diesem Kommentar

Moin,

stellt sich die grundsätzliche Frage, was willst Du damit bezwecken!?

Der Umstand dass eine native Installation des OS performanter ist, als eine Installation per Hypervisor ist grundsätzlich ja schon klar. Von daher finde ich das genaue Ausmessen jetzt ziemlich sinnfrei.

Aus der Praxis heraus kann ich sagen, dass sich bisher kein Kunde beschwert hat, wenn er auf Virtualisierung umgestellt wurde, da meist der Host entsprechend leistungsstärker gewählt wird (schließlich läuft ja i.d.R. nicht nur eine VM auf einem Host).

 

Gruß

Dirk

Link zu diesem Kommentar

Moin,

 

in solchen Fragen gilt immer: Wer misst, misst Mist. :D

 

Allgemein geht man heute davon aus, dass aktuelle Virtualisierungssysteme einen Overhead von weniger als fünf Prozent erzeugen, was "die Performance" angeht. Da es dabei aber ungefähr 5000 mögliche Abhängigkeiten, Parameter und vor allem Möglichkeiten für Konfigurationsfehler gibt, kann man das beim besten Willen nicht genauer sagen.

 

Alle seriösen Benchmarks der letzten Jahre haben im Wesentlichen festgestellt, dass die verschiedenen Bare-Metal-Hypervisoren sich in der Performance nicht grundsätzlich unterscheiden.

 

Gruß, Nils

Link zu diesem Kommentar

Moin, (so viele Norddeutsche hier :) )

 

der Overhead einer Virtualisierung ist in vielen Fällen zu vernachlässigen.

 

Mit klassischen Angaben wie RAID-Level, Disktyp, Prozessor, Netzwerkkarte muss man in virtuellen Umgebungen etwas anders umgehen.

Statt RAID Level und Disk, sollten lieber IOPS angesetzt werden, statt Prozessor, lieber benötigte Threads und statt Netzwerkkarte sollte man von Bandbreite sprechen.

Link zu diesem Kommentar

Hallo,

erst einmal vielen Dank für die vielen und schnellen Rückmeldungen , das hilft mir das Ganze schon etwas besser einordnen zu können !

 

 

Moin,

stellt sich die grundsätzliche Frage, was willst Du damit bezwecken!?

Der Umstand dass eine native Installation des OS performanter ist, als eine Installation per Hypervisor ist grundsätzlich ja schon klar. Von daher finde ich das genaue Ausmessen jetzt ziemlich sinnfrei.

Aus der Praxis heraus kann ich sagen, dass sich bisher kein Kunde beschwert hat, wenn er auf Virtualisierung umgestellt wurde, da meist der Host entsprechend leistungsstärker gewählt wird (schließlich läuft ja i.d.R. nicht nur eine VM auf einem Host).

 

Gruß

Dirk

 

 

Hallo,

ich hoffe das meine Frage nicht wirklich komplett "sinnfrei" ist :) , ich hätte gedacht, wenn es zum Beispiel um Serversizing geht, wäre es doch ziemlich "sinnvoll" zu wissen , mit wieviel Verlustleistung / Performanceeinbußen / Overhead ich durch die Virtualisierung per se schon zu rechnen habe. Ohne dieses Wissen stelle ich mir ein präzises Serversizing schwierig vor, natürlich kann ich auch leicht überdimensionieren und mich der Frage nicht stellen.

Und das nur ein Gast auf dem Host läuft war auch nur ein Beispiel, um eine bessere Vergleichbarkeit zu einer physikalischen Maschine herzustellen. 

Mich wundert es auch das ich kaum Informationen zu diesem Thema im Internet gefunden habe.

 

 

 

Moin,

 

in solchen Fragen gilt immer: Wer misst, misst Mist. :D

 

Allgemein geht man heute davon aus, dass aktuelle Virtualisierungssysteme einen Overhead von weniger als fünf Prozent erzeugen, was "die Performance" angeht. Da es dabei aber ungefähr 5000 mögliche Abhängigkeiten, Parameter und vor allem Möglichkeiten für Konfigurationsfehler gibt, kann man das beim besten Willen nicht genauer sagen.

 

Alle seriösen Benchmarks der letzten Jahre haben im Wesentlichen festgestellt, dass die verschiedenen Bare-Metal-Hypervisoren sich in der Performance nicht grundsätzlich unterscheiden.

 

Gruß, Nils

 

 

Hallo,

das meine Frage nicht in allen Punkten mit einem einfachen "5%" zu beantworten sind, wird mir jetzt auch klar , dafür müßte man alle Eckpunkte des physischen und virtuellen Servers  (CPU / RAM / Storage / ...) einzeln 

auf beiden Systemen benchen, aber die bisherigen Antworten haben mir schon einen groben Überblick gegeben in welche Richtung es geht. Vielen Dank noch einmal dafür !

 

-------------------

 

Ein Beispiel aus der Praxis wäre für mich, ob ich z.B einen SQL Server lieber auf einer bestehenden physikalischen Maschine installiere, um das letzte bisschen an "Performance" herauszukitzeln, oder ich dieselbe Hardware verwende und das System virtualisiere, um die Vorzüge der Virtuallisierung mit Hyper-V nutzen zu können (Replikation / Verfügbarkeit / ...).

Liegt der Overhead dann nur bei den genannten 4-6 % würde ich zur Virtualisierung tendieren , wäre der Overhead bei weit über 10%, würde ich wahrscheinlich das System lieber auf einem physikalischen Server installieren. 

 

Gruß

Michael

 

Link zu diesem Kommentar

Moin,

 

bei solchen Fragen wird immer ziemlich viel herumorakelt. Ich habe in über 20 Jahren IT im Mittelstand noch sehr selten Systeme gesehen, bei denen es tatsächlich auf "das letzte bisschen" Performance angekommen wäre. Wenn es bei dir tatsächlich so wäre, würdest du vermutlich nicht in einem Freizeitforum deine Nachforschungen anstellen, denn dann hättest du entsprechende Ressourcen. Bei solchen Systemen sprechen wir i.d.R. von "richtigen" Budgets, und bei Messungen von Wochen an Aufwand.

 

Dass Virtualisierung heute bei Standardsystemen keine gravierenden Nachteile in Bezug auf die Leistung erzeugt, weißt du ja jetzt. Alles Weitere könnte man jetzt höchstens noch auf der Ebene exakter Spezifikationen diskutieren, aber dafür ist so ein Board dann nun wirklich nicht die richtige Stelle.

 

Wo du die weiteren Features von Virtualisierung ins Spiel bringst - da wird es dann wieder interessant. Einerseits in Bezug auf die Vorteile in der Handhabung, andererseits aber vielleicht auch bezüglich der Performance. Replikation beispielsweise erzeugt schnell eine ganze Menge an Overhead ... aber auch da kommt es wieder auf die genauen Umstände an, ob das überhaupt relevant ist.

 

Gruß, Nils

Link zu diesem Kommentar
Mich wundert es auch das ich kaum Informationen zu diesem Thema im Internet gefunden habe.

Das wundert mich überhaupt nicht. Die Thema so individuell, dass es nur eine handvoll Referenzsetups einiger Hersteller gibt. Die Messungen beziehen sich dann auch auf genau diese Komponenten in definierter Konfiguration, mit diesem oder jenem Firmwarestand usw.

 

Wenn wirklich um das letzte Prozent geht, braucht es genaue Kenntnisse der zu betrachtenden Arbeitsauslastung. Der Aufwand lohnt sich oftmals nur in hochspezialisierten Umgebungen.

Link zu diesem Kommentar

In der Praxis sehe ich eher das man dazu tendiert, Server zu großzügig auszustatten. 16 GB RAM für einen Domain Controller, weil die 200 Euro dann kaum mehr ins Gewicht fallen. In der Praxis braucht der DC dann vielleicht 1 GB RAM. Auch das bisserl Performanceverlust ist total egal, selbst wenn ich unsere Hyper-V Server mit Live Migration voll packe langweilen sich die Intel CPUs noch.

 

Dafür starte ich dann eine 2012r2 in wenigen Sekunden komplett durch und kann ohne Downtime die Server auf Hardware rumschieben. Wenn man nicht gerade sehr spezielle Anforderungen hat, würde ich eigtl. alles virtualisieren.

Link zu diesem Kommentar

Hallo,

ich hoffe das meine Frage nicht wirklich komplett "sinnfrei" ist :) , ich hätte gedacht, wenn es zum Beispiel um Serversizing geht, wäre es doch ziemlich "sinnvoll" zu wissen , mit wieviel Verlustleistung / Performanceeinbußen / Overhead ich durch die Virtualisierung per se schon zu rechnen habe. Ohne dieses Wissen stelle ich mir ein präzises Serversizing schwierig vor, natürlich kann ich auch leicht überdimensionieren und mich der Frage nicht stellen.

Und das nur ein Gast auf dem Host läuft war auch nur ein Beispiel, um eine bessere Vergleichbarkeit zu einer physikalischen Maschine herzustellen. 

Mich wundert es auch das ich kaum Informationen zu diesem Thema im Internet gefunden habe.

Das Problem ist, dass es nur in sehr wenigen Bereichen auf das 'letzte' Quentchen an Performance ankommt. Da diese Anforderungen schon sehr speziell sind wirst Du dazu kaum etwas im Internet finden.

Gutes Beispiel ist z.B. auch der Turbo-Modus bei den Intel Core-CPU's. Wir haben hier mal Test im Bereich OCR (DMS) gefahren. Ein OCR Task lastet einen CPU-Kern für mehrere Sekunden pro Seite voll aus. Da kann es im Einzelfall schon sinnvoll sein, wenn die CPU im Turbo Modus um 25% schneller ist. Bei einem Desktop merkt man das dann schon.

Bei einer parallelen Auslastung aller Kerne durch mehrere OCR Tasks spielt der Turbo-Modus dagegen nahezu keine Rolle. Da hilft dann nur die reine Anzahl der Kerne.

 

Gerade das von Dir genannte Beispiel (SQL-Server) ist schon sehr speziell. Da muss man schon sehr genau wissen, welche Werte man wie misst.

Link zu diesem Kommentar

 

Wo du die weiteren Features von Virtualisierung ins Spiel bringst - da wird es dann wieder interessant. Einerseits in Bezug auf die Vorteile in der Handhabung, andererseits aber vielleicht auch bezüglich der Performance. Replikation beispielsweise erzeugt schnell eine ganze Menge an Overhead ... aber auch da kommt es wieder auf die genauen Umstände an, ob das überhaupt relevant ist.

 

Gruß, Nils

 

Hallo,

das stimmt allerdings, die Replikation war auch nur ein mögliches Beispiel der Vorteile von Virtualisierung, in meinen Fällen finde ich die Hardwareunabhängikeit und die damit erreichte bessere Verfügbarkeit das entscheidende pro Kriterium.

 

 

 

Wie viel Leistung wir denn für die Datenbank benötigt? Wie viele IOPS? Wie viele Nutzer arbeiten damit?

 

Eigentlich wollte ich damals "nur" die generelle Frage stellen, wie hoch in etwa der Performanceverlust durch die Virtualisierungsschicht beim aktuellen Hyper-V ist , aber ich merke ohne konkrete Werte und Spezifikation ist das nicht genau zu beantworten. Die von euch gegebene Antworten haben mir aber schon weiter geholfen um das Ganze besser einordnen zu können.

 

In meinem konkreten Fall geht es aktuell um einen alten Server 2003 R2 (64bit), 16GB RAM und ein RAID 10 aus 4x300GB SAS 15k Platten, der durch eine neue Hardware ersetzt werden soll.

Der alte Server übernimmt aktuell die Rolle eines DCs und hat die Branchensoftware Datev installiert (SQL Server/DMS Server). Die Datenbanken fassen zusammen ca 130GB.

Auf diesen Server greifen ca. 40 Mitarbeiter von drei Terminalservern (Server 2012 R2) aus zu. Das Raid 10 wurde damals in zwei Partitionen unterteilt C: und D: wobei auf D: die SQL Datenbanken

und das DMS System laufen. Dieser Server sollte in seinen Funktionen eins zu eins durch neue Hardware und neues OS (Server 2012 R2 ) ersetzt werden. Die Hardwarespezifikationen des neuen

Servers sind folgende:

 

2x Xeon E5-2623v3

64GB RAM

Raid1 2x SSD für OS 

Raid10 4x SSD für Daten (SQL Datenbank)

MS Server 2012 R2

 

Die Frage die ich mir nun gestellt hatte, war das System eins zu eins ersetzen (physikalisch zu betreiben) oder doch, den wie ich bis jetzt erfahren habe, geringen Overhead in kauf nehmen und die Vorteile der Virtualisierung zu nutzen. Leider fehlt mir da selbst, genau für diese Konstellation, etwas die Praxiserfahrung. Durch eure Hilfe bin ich der Überzeugung das ich in beiden Konstellationen  

nicht dramatisch viel verkehrt mache, trotzdem bin ich natürlich bemüht , wie wahrscheinlich auch ihr, nahe an das mögliche Optimum zu kommen.

Vielen Dank noch einmal für eure Hilfe und sachdienlichen Hinweisen bzw Erfahrungswerte ;)  

Link zu diesem Kommentar

Hi,

 

bei Datev solltest du beachten, dass du das USB Softwareschutzmodul (USB-Dongle) sowie den Betriebsstätten mIDentity in der VM brauchst. Dazu benötigts du beim Hyper-V (auch sonst sinnvollerweise) einen USB zu LAN Server (z.B.: SEH myUTN 50a).

 

Je nach Anforderungen könnt es durchaus noch Sinn ergeben, den Datev DMS Server vom restlichen Datev SQL zu trennen sowie die Kommunikationsdienste und / oder Lizenzdienste der Datev ebenfalls auf separaten VMs bereitzustellen.

 

Und noch was zum Lesen ;)

 

Virtualisierung von Datev Servern:

http://www.datev.de/dnlexos/mobile/document.aspx?document=1080017&consumer=webApp

http://www.datev.de/dnlexos/mobile/document.aspx?document=1080080&consumer=webApp

 

Der Datev SQL Server:

http://www.datev.de/dnlexos/mobile/document.aspx?document=1033860&consumer=webApp

 

Datev Performance:

http://www.datev.de/dnlexos/mobile/document.aspx?document=0908365&consumer=webApp

 

Gruß

Jan

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...