IO Performance in virtualisierten Umgebungen



Ähnliche Dokumente
SAP Memory Tuning. Erfahrungsbericht Fritz Egger GmbH & Co OG. Datenbanken sind unsere Welt

Anwendungsbeispiele. Neuerungen in den s. Webling ist ein Produkt der Firma:

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

A Lösungen zu Einführungsaufgaben zu QueueTraffic

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Flash Memory in Action Konfigurationen und Möglichkeiten

Die Industrie- und Handelskammer arbeitet dafür, dass Menschen überall mit machen können

Was meinen die Leute eigentlich mit: Grexit?

Welchen Nutzen haben Risikoanalysen für Privatanleger?

Technische Analyse der Zukunft

Leichte-Sprache-Bilder

Dieser Ablauf soll eine Hilfe für die tägliche Arbeit mit der SMS Bestätigung im Millennium darstellen.

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Festigkeit von FDM-3D-Druckteilen

Well-Balanced. Performance Tuning

Professionelle Seminare im Bereich MS-Office

Eva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit

Anleitung über den Umgang mit Schildern

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis

Fotos verkleinern mit Paint

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

Das sogenannte Beamen ist auch in EEP möglich ohne das Zusatzprogramm Beamer. Zwar etwas umständlicher aber es funktioniert

INFOBLATT FÜR DAS NEU AUFSETZEN IHRES COMPUTERS

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst.

a n auf Konvergenz. Berechnen der ersten paar Folgenglieder liefert:

AZK 1- Freistil. Der Dialog "Arbeitszeitkonten" Grundsätzliches zum Dialog "Arbeitszeitkonten"

Die Post hat eine Umfrage gemacht

Landes-Arbeits-Gemeinschaft Gemeinsam Leben Gemeinsam Lernen Rheinland-Pfalz e.v.

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version Deutsch

Internet Explorer Version 6

Vorstellung SimpliVity. Tristan P. Andres Senior IT Consultant

Inbetriebnahme Profinet mit Engineer. Inhaltsverzeichnis. Verwendete Komponenten im Beispiel:

Die neue Aufgabe von der Monitoring-Stelle. Das ist die Monitoring-Stelle:

Zeichen bei Zahlen entschlüsseln

Mehr Umsatz durch Übersetzungen? Geht das?

Round Table 60: 859 Pakete für den Weihnachtskonvoi

Installation der SAS Foundation Software auf Windows

Die Online-Meetings bei den Anonymen Alkoholikern. zum Thema. Online - Meetings. Eine neue Form der Selbsthilfe?

Einfügen von Bildern innerhalb eines Beitrages

2. Negative Dualzahlen darstellen

Grundlagen verteilter Systeme

Stellvertretenden Genehmiger verwalten. Tipps & Tricks

Jeunesse Autopiloten

vsphere vs. HyperV ein Vergleich aus Sicht eines VMware Partners interface:systems

Alle gehören dazu. Vorwort

Kurzanleitung MAN E-Learning (WBT)

1. Kennlinien. 2. Stabilisierung der Emitterschaltung. Schaltungstechnik 2 Übung 4

Zahlen und das Hüten von Geheimnissen (G. Wiese, 23. April 2009)

Dow Jones am im 1-min Chat

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

! " # $ " % & Nicki Wruck worldwidewruck

Gründe für fehlende Vorsorgemaßnahmen gegen Krankheit

Straße. Tiefgarage. Planung einer Tiefgarageneinfahrt Arbeitsblatt

Wir machen neue Politik für Baden-Württemberg

Die Bundes-Zentrale für politische Bildung stellt sich vor

Lehrer: Einschreibemethoden

Was ist Sozial-Raum-Orientierung?

Performance Analyse in einem komplexen Softwaresystem Gebhard Ebeling

Kurzanleitung. MEYTON Aufbau einer Internetverbindung. 1 Von 11

Informatik 1 Tutorial

Nr. 12-1/Dezember 2005-Januar A 12041

Updatehinweise für die Version forma 5.5.5

Online Newsletter III

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

Anne Frank, ihr Leben

Win 7 optimieren. Unser Thema heute: Meine erstellten Daten in eine andere Partition verschieben.

Das Leitbild vom Verein WIR

Herzlich Willkommen beim Webinar: Was verkaufen wir eigentlich?

Lineare Gleichungssysteme

Wir gehen aus von euklidischen Anschauungsraum bzw. von der euklidischen Zeichenebene. Parallele Geraden schneiden einander nicht.

Ontrack EasyRecovery 11 Neue Funktionen. S.M.A.R.T.-Analysefunktion Wiederherstellung von VMware VMDK-Images Datenlöschfunktion

Prozentrechnung. Wir können nun eine Formel für die Berechnung des Prozentwertes aufstellen:

infach Geld FBV Ihr Weg zum finanzellen Erfolg Florian Mock

Benutzerverwaltung Business- & Company-Paket

Glaube an die Existenz von Regeln für Vergleiche und Kenntnis der Regeln

Erfahrungen mit Hartz IV- Empfängern

etax.schwyz: Suche nach Steuerfalldateien

mit dem TeXnicCenter von Andreas Both

Installationsanleitung. Ab Version

Wie verbinde ich ein JBOD-System mit dem QStore QMX? - 1

Partnerportal Installateure Registrierung

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Physik & Musik. Stimmgabeln. 1 Auftrag

Das Persönliche Budget in verständlicher Sprache

Preisvergleich ProfitBricks - Amazon Web Services M3 Instanz

Urlaubsregel in David

Eine der Aktien hat immer einen höheren Gewinn als die andere Aktie. Ihre Aufgabe ist es diese auszuwählen.

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

Blumen-bienen-Bären Academy. Kurzanleitung für Google Keyword Planer + Google Trends

Ohne Fehler geht es nicht Doch wie viele Fehler sind erlaubt?

Eine Kurzanleitung in 10 Schritten

STATT. Bürger. Fortwährende Rechtsfragen. Individueller Rechtsanspruch. Steuervereinfachung. Steuerdschungel. gleiche Standards

Wissenswertes über binäre Felder

Cad-OasEs Int. GmbH. 20 Jahre UG/NX Erfahrung prägen Methodik und Leistungen. Nutzen Sie dieses Wissen!

Aufgaben zur Flächenberechnung mit der Integralrechung

SFTP SCP - Synology Wiki

Transkript:

IO Performance in virtualisierten Umgebungen Bruno Harsch El. Ing. HTL/FH Managing Partner Tel +41 52 366 39 01 bruno.harsch@idh.ch www.idh.ch IDH GmbH Lauchefeld 31 CH-9548 Matzingen

2 Die Firma IDH wurde 1996 gegründet Schwerpunkt Systems Engineering Unix und Storage und sind damit vorwiegend im Enterprise Segment tätig Ein Team von Engineer's mit langjähriger Erfahrung im Fachgebiet Unix und Storage IDH Wer sind wir?

3 Immer wieder gibt es Diskussionen ob ein Linux System nicht besser auf physischer Hardware betrieben werden soll um eine vernünftige Performance zu erreichen Speziell im IO Bereich gibt es zusätzliche Latenzen, daher haben wir uns auf Vergleiche und Optimierungen im IO Bereich konzentriert Wir haben in verschieden physischen und virtualisierten Umgebungen Vergleichsmessungen gemacht Die Systeme waren über SAN an Enterprise Storage verbunden Grenzen gesucht: IOPS, Bandbreite, Parallelisierung usw. Zusammenhänge: IOPS, Bandbreite, Blockgrösse und Latenz Ausgangslage

4 Gewünscht: max IOPS und max Bandbreite zusammen Gegeben: Gefordert: Blockgrössen und Latenz Tuning der Effekte des Gegebenen damit möglichst das Gewünschte erreicht wird Anforderungen

5 Enterprise Storage über SAN vs. lokalem Diskarray vs. Flash Array (nicht SSD!) Single LUN vs. Stripe (md,lvm) Wenig parallelisierter IO vs. Hoch parallelisiert (e.g. Full Table Scan vs. Row Operationen) Raw gemapptes Device vs. VMDK Was haben wir verglichen

6 80% Random Read / 20% Random Write Ohne FS direkt auf Linux Raw Devices, da wir nicht OS caching Effekte messen wollten. Diese sind bei kleinen Datenmengen dominierend (BTW: Bei Überforderung des FS Cache, haben wir einen overhead im kleinen einstelligen Bereich gemessen) Beim einem konkreten Fall hatten wir viele Java threads welche IO generierten (Jboss) VDBench ist ein Java Tool, welches die gleichen Eigenschaften hat und sich daher gut für diese Vergleiche eignete Nur VMware als Virtualisierer (mangels anderen Umgebungen) Wie haben wir verglichen

7 Bandbreite Typisch zwischen wenigen MB/s bis 150MB/s IOPS 150 für SAS bis 40'000 für Enterprise Storage mit viel Cache Latenz Typisch zwischen 2ms und 8ms für Enterprise Storage und 0.2ms bis 0.5ms für Flash Blockgrössen Extrem Workload abhängig In DB Umfeld häufig wenige KB bis paar hundert KB Begriffe & Zusammenhänge

8 IOPS x Blockgrösse = Bandbreite z.b. SAS Disk 150 IOPS,16KB Blöcke 150 x 16KB = 2400 KB/s z.b. Enterprise Storage, viel Cache 40'000 IOPS, 16KB Blöcke 40'000 x 16KB = 640 MB/s (theoretisch, nur möglich mit entsprechendem FC Attachment und viel cache) Latenz bestimmt Anzahl IOPS bei einzelnem Paket IOPS = 1/Latenz z.b. 2ms -> 500 IOPS Für mehr IOPS braucht es entsprechende Queue's, Parallelisierung und Sequenzen Begriffe & Zusammenhänge

9 CFQ vs. NOOP IO Scheduler CFQ Oct 25, 2013 interval i/o MB/sec bytes read resp resp resp cpu% cpu% rate 1024**2 i/o pct time max 15:38:35.106 avg_2-12 42456.71 165.85 4096 80.01 1.130 1015.295 NOOP Oct 25, 2013 interval i/o MB/sec bytes read resp resp resp cpu% cpu% rate 1024**2 i/o pct time max 15:43:57.059 avg_2-12 34169.24 133.47 4096 79.98 1.405 732.328 Bei hohen IOPS (40K) war NOOP mal schneller / mal langsamer Bei kleinen IOPS (2k bis 4k) bringt NOOP ca. 30 % bessere Resultate Ein paar Ergebnisse...

10 md Stripes vs. LV/FS Stripes Wir bekamen bei beiden Varianten in etwa die gleichen Ergebnisse Die Messschwankungen waren grösser... Ein paar Ergebnisse...

11 VMDK vs. Raw mapped Device Die VMDK Disk waren meist schneller (!), da der Cache im VMware Layer den stärkeren Einfuss hat, als die leicht erhöhte Latenz Nur 1 VMDK / LUN Ein paar Ergebnisse...

12 Im Enterprise Umfeld schwankt die Performance des SAN/Storage auch Wir sehen Unterschiede zwischen Bürozeiten und Nachtzeiten Tagsüber sind Antwortzeiten etwas länger, aber immer noch < 1ms Unterschied Höhere CPU Last ausserhalb der Bürozeiten, da die IO Peformance besser ist und die CPU(s) mehr pro Sekunde schaufeln können Phänomene

13 Bei wenigen IO Threads und höherer Latenz bleibt die Runqueue < 1 und es findet damit auf CPU Ebene keine Parallelisierung statt. Da die IO's (gemütlich) sequentiell an VMware und Storage weiter gereicht wird, kommen keine bis wenige Caches zu Hilfe Bei vielen IO Threads und trotz höherer Latenz steigt die Runqueue > 1 und es findet damit auf CPU Ebene eine Parallelisierung statt. Da die IO's jetzt parallel kommen steigen die IOPS zuerst um x Anz. CPU (mind. 8 CPU's nehmen) Im VMware Layer und Storage werden durch den stark erhöhten IO Caches aktiv und dadurch sinkt die Latenz (z.b. Von 2ms auf 1ms) Dies bewirkt wiederum eine Verdoppelung der IOPS Jetzt kann die Anzahlt IO Threads wieder reduziert werden. Die CPU's arbeiten weiter parallel durch die reduzierte Latenz. Phänomene (Folding Problem?)

14 7:21:33.007 Starting RD=run1; I/O rate: Uncontrolled MAX; elapsed=60; For loops: threads=48.0 Oct 25, 2013 interval i/o MB/sec bytes read resp resp resp cpu% cpu% rate 1024**2 i/o pct time max stddev sys+usr sys 17:22:33.066 avg_2-12 18912.73 73.88 4096 79.99 2.538 593.429 10.041 4.6 3.9 17:22:36.003 Starting RD=run2; I/O rate: Uncontrolled MAX; elapsed=60; For loops: threads=480.0 Oct 25, 2013 interval i/o MB/sec bytes read resp resp resp cpu% cpu% rate 1024**2 i/o pct time max stddev sys+usr sys 17:23:36.058 avg_2-12 39055.47 152.56 4096 80.02 12.290 1923.890 20.471 17.6 15.6 17:23:38.004 Starting RD=run3; I/O rate: Uncontrolled MAX; elapsed=60; For loops: threads=48.0 Oct 25, 2013 interval i/o MB/sec bytes read resp resp resp cpu% cpu% rate 1024**2 i/o pct time max stddev sys+usr sys 17:24:38.108 avg_2-12 40382.42 157.74 4096 79.97 1.188 1299.861 7.700 13.7 12.4. Phänomene... die Zahlen dazu

15 Experiment mit 2ms künstlicher Latenz (dm_delay) 48 threads -> approx. 4 CPU in use (out of 8) IO Rate 9400 480 threads -> approx. 8 CPU in use (out of 8) IO Rate 50100 48 threads -> approx. 4 CPU in use (out of 8) IO Rate 8100 Ohne Latenz 48 threads -> approx. 8 CPU in use (out of 8) IO Rate 43700 480 threads -> approx. 8 CPU in use (out of 8) IO Rate 46100 48 threads -> approx. 8 CPU in use (out of 8) IO Rate 42800 Phänomene...

16 CPU Folding ausschalten, d.h. Parallelisieren stärker als Affinität gewichten Bei RHEL 5 gibt nichts Bei RHEL 6 gibst 2 Paramter, welche aber bei uns (bis jetzt) keinen Effekt gezeigt haben. kernel.sched_migration_cost kernel.sched_nr_migrate Tunning

17 Stripping Wir haben mit verschiedenen stripe sizes (16k/64k/256K) und unterschiedlicher Anzahl (2..10) gemessen Das Optimum hängt vor allem von den LUN Eigenschaften (Attachment, Cache, Latenz usw.) ab und ist daher für jede Umgebung unterschiedlich. Blöcke im Verhältnis zur transfer size zu gross, kommt Stripping nicht in Effekt Blöcke im Verhältnis zur transfer size zu klein, generiert mehr IO's als nötig Analoges gilt für die Ermittlung der Anzahl stripes Wir haben gute Ergebnisse mit 8 Stripes und 64K Blöcken erreicht Tunning

18 Wir haben viel gemessen und viele Zahlen ausgewertet Die Essenz sollte aber erzählt sein FRAGEN? und zum Schluss...