Hallo,
zum Punkt virtuelle SCSI Controller und Queue Depth gibt es von VMware offenbar nur Artikel für den PVSCSI Controller.
Changing Paravirtualized SCSI Controller Device Queue Depth in VMware ESXi 4.x and later
Large-scale workloads with intensive I/O patterns might require queue depths significantly greater than PVSCSI default values
Zum zweiten Punkt, das glaube ich weniger.
Der entscheidende Punkt beim Thema Queueing ist, das man eigentlich gar kein Queueing haben möchte.
Die Queues sind dafür gedacht, kurze Spitzen abzufangen.
Wenn dein System ständig queued, hast du eventuell ein Performance Problem.
Eine normale Disk kann im Prinzip immer nur einen IO bearbeiten, allerdings ist in der Lage, zeitgleich mehrere Anfragen anzunehmen.
Somit wird der Eindruck erzeugt, die Platte würde parallel arbeiten.
Das geht aber nicht, denn die R/W Köpfe können ja immer nur eine Position einnehmen.
Also werden z.B. 8 Anfragen angenommen und (eventuell optimiert) hintereinander abgearbeitet.
Somit muß die nächste Stelle (HBA) zwar nicht auf einen freien Slot zur Übermittlung der Anfrage warten, stattdessen wartet sie auf die Daten oder das ACK.
Dafür verwendet er die HBA Queue, die bei ESXi je nach HBA Typ wie folgt dimensioniert werden.
Changing the queue depth for QLogic, Emulex and Brocade HBAs
Somit wird über diese Einstellungen eigentlich festgelegt, wieviele
aktive IO Requests an die Disk/array gesendet werden können.
Wenn diese Queue nicht ausreicht, wird das Queueing im ESX Server und/oder der VM aktiv.
Aus meiner Erfahrung ist eigentlich nur die HBA Queue Depth Einstellung wirklich von Bedeutung, und zwar aus folgendem Grund.
An dieser Komponente verläßt die IO Anfrage den
GHz Bereich und wechselt in den
kHz Bereich.
Ob du daher in anderen Schichten weitere Queues hast dürfte sich kaum auswirken, da sowieso alle auf die Disk warten müssen.
Das ist auch der Grund dafür, das man die Anzahl der LUN's nicht zu klein wählen sollte.
Welcher technische Grund spricht z. B. gegen 100 LUN's für einen ESX Cluster, auf dem 200 VM's laufen?
In der
physikalischen Welt hatten die Systeme ja auch meistens zwei Platten.
Somit sollte der
Overhead bei gezielten Lasttest zwar meßbar sein, aber im Regelbetrieb kaum Auswirkungen zeigen.
Gruß,
Ralf