Für den Administrator, Performance

Datenbankperformance mit VMware

Beim Betrieb eines CONZEPT 16-Servers auf einer VMware-Plattform gibt es eine Reihe von Konfigurationsmöglichkeiten, um eine gute Anwendungsperformance zu erzielen.

Einige allgemeine Hinweise zum Einsatz in virtuellen Umgebungen haben wir schon in einem Blog-Beitrag behandelt, heute geht es speziell um den vSphere-Hypervisor.


Bereits die Wahl des Gast-Betriebssystems hat einen Einfluss auf die Performance. Ältere Versionen erzeugen einen größeren Verarbeitungs-Overhead in virtuellen Umgebungen. Neuere Varianten (ab Windows Server 2008, SLES11 oder RHEL6) verfügen über Optimierungen, die den Overhead reduzieren und dadurch auf virtueller Hardware effizienter laufen.

Wichtig ist auch die eingestellte Anzahl virtueller CPUs (vCPU) für die VM, die unter der Anzahl der realen CPU-Cores bleiben sollte (Beispielsweise bei 8 realen Cores maximal 7 vCPUs).
Netzwerk

Für CONZEPT 16-Anwendungen spielt die Anfragelatenz des Servers eine entscheidende Rolle (siehe auch „Verbesserung der Netzwerkperformance„). Zunächst sollte innerhalb der virtuellen Maschine der Adaptertyp „vmxnet3“ verwendet werden (ab ESXi 5.0 verfügbar). Dieser Adapter verwendet einen paravirtuellen Treiber (die vmware-Tools müssen deshalb in der VM installiert werden – dies ist ohnehin immer empfehlenswert) und erreicht einen höheren Datendurchsatz als beispielsweise der virtuelle E1000-Adaptertyp. Des weiteren sollte die Interrupt-Moderation für den virtuellen Adapter (vmxnet3) sowohl im Gastbetriebssystem als auch in den VM-Einstellungen ausgeschaltet werden:

VM Settings -> Options -> Advanced General -> Configuration Parameters
    neuer Eintrag: ethernetX.coalescingScheme = disabled
    (dabei ist das X mit der Nummer der NIC zu ersetzen)

Zusätzlich sollte die Einstellung „Large Receive Offload“ für den Host ausgeschaltet werden:

Configuration -> Software -> Advanced Settings
   Net.Vmxnet3SwLRO = 0
   Net.Vmxnet3HwLRO = 0

(Der Host muss allerdings nach einer Änderung neu gebootet werden).

Die Drosselung der Interrupt-Rate kann zusätzlich auch beim physikalischen Netzwerkadapter deaktiviert werden, dies beeinflusst aber alle VMs und kann auch die Gesamtleistung des Hostsystems verschlechtern (ausgenommen, der Netzwerkadapter wird exklusiv von der Datenbank-VM benutzt). Im Normalfall kann diese Einstellung daher unverändert bleiben. Eine Deaktivierung erfolgt direkt im ESXi-Host (Beispiel für Intel 10GbE):

#esxcli system module parameters set -m ixgbe -p "InterruptThrottleRate=0" 

Storage

Die Anforderungen an die physikalische Storage-Unit sind bei Verwendung eines Hypervisors nicht anders als bei einem nativen Betriebssystem. Bei ESXi 5.0 werden jedoch RAID-Konfigurationen am Onboard-Controller prinzipiell nicht unterstützt, für alle RAID-Varianten ist daher ein separater Controller oder ein SAN erforderlich.

Die Speicherung der Datenbank erfolgt innerhalb eines Volumes der Gast-VM. Bei Verwendung von NTFS sollte das Volume mit der maximalen Clustergröße von 64K formatiert sein. Normalerweise wird das Gast-Volume innerhalb eines VMFS-Volumes des Hosts angelegt. Alternativ kann es als virtuelles oder physikalisches RDM-Laufwerk (Raw-Device-Mapping) definiert werden. RDM-Laufwerke erzielen einen geringen Performance-Vorteil gegenüber VMFS-basierten Volumes, dafür sind sie weniger flexibel. Ein virtuelles RDM-Laufwerk käme beispielsweise bei einer PCIe-SSD in Betracht (sofern diese vom Hypervisor auch unterstützt wird). Insgesamt fällt der Overhead von VMFS gering aus, es ist also nicht notwendig, Datenbanken auf RDM-Laufwerken zu speichern.

Ähnlich wie beim virtuellen Netzwerktreiber kann die Performance durch den Einsatz eines paravirtuellen SCSI-Treibers verbessert werden. Ein virtueller PVSCSI-Controller kann zusätzlich zum bereits installieren SCSI-Controller eingerichtet und für das Datenbankvolume verwendet werden.

Sonstiges

Weitere Möglichkeiten zur Reduzierung von Latenzen liegen im Bereich von Stromsparfunktionen sowie Prozessor- und Speicherzuordnung. Die hier für den Datenbankbetrieb erzielbaren Verbesserungen sind recht gering. Auf Anfrage kann der Support detailiertere Informationen zur Verfügung stellen.

Keine Kommentare

Kommentar abgeben