Ich habe auf zahlreichen Virtualisierungsdiensten (Azure) und Produkten (VMware, KVM, Hyperv) gesehen, dass E / A und System unter hoher E / A-Auslastung hängen bleiben.
Meine Fragen sind:
- Ist es jemals vernünftig, eine virtualisierte Lösung zu verwenden, wenn Sie hohe E / A-Workloads ausführen?
- Was sind die Best Practices für diese Art von Dingen?
- Was verursacht diese Probleme, gibt es bekannte Systemengpässe oder ist nur eine Frage übermäßiger Konflikte?
virtualization
performance-tuning
io
Bryan Hunt
quelle
quelle
Antworten:
Ja, in der Tat sehr vernünftig, in der Tat ist für die meisten Organisationen jetzt virtuell die Standardeinstellung, und Dinge an physischen Boxen zu tun, ist die Ausnahme. Wir haben über 100.000 VMs aller Art und viele davon sind> 40.000 IOPS, ohne dass Probleme auftreten.
Entscheidend dabei ist nicht, ob es virtualisiert ist oder nicht - es ist wichtig, dass Sie die E / A-Anforderungen genau kennen und die virtuellen Speicherressourcen aufeinander abstimmen. So einfach ist es, wenn Sie wissen, was Sie brauchen / wollen und das Budget haben, das zu Ihren Speichersystemen passt, spielt die Virtualisierungsebene wirklich keine oder nur eine geringe Rolle - es sei denn, Sie treiben die Dinge WIRKLICH voran (ich spreche zig / Hundert Millionen von IOPs).
Mangelndes Verständnis oder der Versuch, zu viel mit zu wenig Speicherressourcen zu tun, verursachen normalerweise Probleme.
quelle
Zieht ein Datenbankserver regelmäßig eine zufällige E / A-Anzahl von 1 Gbit / Sekunde? Hab eins hier.
Oder ein virtueller Dateiserver, der bis zu 600 MB / s an einen HPC-Cluster liefert. Dieser läuft 8 Velicoraptors in einem Raid 10, gewidmet.
Sorgen Sie für ausreichend IO. Ich denke, dass diese SQL-VM etwa 8 oder 10 dedizierte SSD hat.
Leute, die keine einfachen Matheübungen machen. Wenn das E / A-Subsystem die Last nicht verarbeiten kann, wird dies auch bei der Virtualisierung nicht der Fall sein. Benötigen Sie VIELE E / A, dann stellen Sie ein dediziertes Speichersubsystem mit der entsprechenden Größe bereit.
quelle
Neben dem grundlegenden mathematischen Konzept, dass Sie immer noch dieselben E / A wie nicht virtualisiert benötigen, gibt es auch QOS / Priorisierung. Die meisten Virtualisierungsplattformen bieten zumindest eine grundlegende Unterstützung dafür, um zu verhindern, dass die Entwickler-VM Ihre Produktdatenbank blockiert.
quelle