Speicher-Lese-Caching

Lese-Caching verbessert die Festplattenleistung einer VM, da nach dem ersten Lesen von externen Datenträgern Daten im freien Speicher des Hosts zwischengespeichert werden. Es verbessert die Leistung in Situationen, in denen viele VMs von einer einzigen Basis-VM geklont werden, da dadurch die Anzahl der von der Festplatte gelesenen Blöcke drastisch reduziert wird. Beispielsweise in Umgebungen mit Citrix Virtual Desktops (Machine Creation Service, MCS).

Die Leistungssteigerung kann angezeigt werden, wenn Daten mehrmals von der Festplatte gelesen werden, da sie im Speicher zwischengespeichert werden. Diese Änderung ist am deutlichsten in der Verschlechterung des Dienstes, der während schwerer E/A-Situationen auftritt. Zum Beispiel in den folgenden Situationen:

  • Wenn eine beträchtliche Anzahl von Endbenutzern innerhalb eines sehr engen Zeitrahmens hochfährt (Boot-Storm)
  • Wenn eine beträchtliche Anzahl von VMs geplant ist, dass Malware-Scans gleichzeitig ausgeführt werden (Virenschutzstürme).

Die Lesezwischenspeicherung ist standardmäßig aktiviert, wenn Sie über den entsprechenden Lizenztyp verfügen.

Hinweis:

Storage Read Caching ist für Citrix Hypervisor Premium Edition-Kunden verfügbar.

Storage Read Caching ist auch für Kunden verfügbar, die über ihre Berechtigung für Citrix Virtual Apps and Desktops auf Citrix Hypervisor zugreifen.

Aktivieren und Deaktivieren von Lese-Caching

Bei dateibasierten SRs wie NFS- und EXT3-SR-Typen ist das Lese-Caching standardmäßig aktiviert. Lese-Caching ist für alle anderen SRs deaktiviert.

Führen Sie den folgenden Befehl aus, um die Lesezwischenspeicherung für eine bestimmte SR zu deaktivieren:

xe sr-param-set uuid=sr-uuid other-config:o_direct=true

Einschränkungen

  • Lese-Caching ist nur für NFS- und EXT3-SRs verfügbar. Es ist nicht für andere SR Typen verfügbar.

  • Lese-Caching gilt nur für schreibgeschützte VDIs und VDI-Eltern. Diese VDIs sind dort vorhanden, wo VMs aus ‘Fast Clone’ oder Datenträger-Snapshots erstellt werden. Die größten Leistungsverbesserungen sind zu erkennen, wenn viele VMs aus einem einzigen „goldenen“ Image geklont werden.

  • Die Leistungsverbesserungen hängen von der Menge des freien Arbeitsspeichers in der Steuerdomäne des Hosts (dom0) ab. Durch das Erhöhen der Menge an dom0-Speicher kann dem Lese-Cache mehr Speicher zugewiesen werden. Informationen zum Konfigurieren des dom0-Speichers finden Sie unterCTX134951.

Vergleich mit IntelliCache

IntelliCache und speicherbasiertes Lese-Caching sind in gewisser Hinsicht komplementär. IntelliCache speichert nicht nur auf einer anderen Ebene, sondern speichert auch Schreibvorgänge zusätzlich zu Lesevorgängen. IntelliCache speichert Lesevorgänge aus dem Netzwerk auf einen lokalen Datenträger. In-Memory-Lese-Caching speichert die Lesevorgänge vom Netzwerk oder vom Datenträger in den Hostspeicher. Der Vorteil des In-Memory-Lese-Cachings besteht darin, dass der Speicher immer noch um eine Größenordnung schneller ist als eine Solid-State-Festplatte (SSD). Die Leistung bei Boot-Stürmen und anderen schweren E/A-Situationen verbessert sich.

Sowohl das Lese-Caching als auch IntelliCache können gleichzeitig aktiviert werden. In diesem Fall speichert IntelliCache die Lesevorgänge aus dem Netzwerk auf einen lokalen Datenträger. Lesevorgänge von diesem lokalen Datenträger werden im Speicher mit Lese-Caching zwischengespeichert.

Festlegen der Lesecachegröße

Die Lesecache-Performance kann optimiert werden, indem der Steuerdomäne von Citrix Hypervisor (dom0) mehr Arbeitsspeicher zur Verfügung steht.

Wichtig:

Legen Sie die Lese-Cache-Größe auf ALLE Hosts im Pool individuell zur Optimierung fest. Alle nachfolgenden Änderungen an der Größe des Lesecaches müssen auch auf allen Hosts im Pool festgelegt werden.

Öffnen Sie auf dem Citrix Hypervisor or-Server eine lokale Shell, und melden Sie sich als Root an.

Führen Sie den folgenden Befehl aus, um die Größe des Lesecache festzulegen:

/opt/xensource/libexec/xen-cmdline --set-xen dom0_mem=nnM,max:nnM

Legen Sie sowohl den Anfangs- als auch den Maximalwert auf denselben Wert fest. Zum Beispiel, um dom0 Speicher auf 2.048 MiB zu setzen:

/opt/xensource/libexec/xen-cmdline --set-xen dom0_mem=20480M,max:20480M

Wichtig:

Starten Sie alle Hosts neu, nachdem Sie die Lese-Cache-Größe geändert haben.

Wie kann ich die aktuelle dom0-Speicherzuweisung anzeigen?

Um die aktuellen dom0-Speichereinstellungen anzuzeigen, geben Sie Folgendes ein:

free -m

Die Ausgabe vonfree -m zeigt die aktuellen dom0-Speichereinstellungen. Der Wert kann aufgrund verschiedener Gemeinkosten geringer sein als erwartet. Die folgende Beispieltabelle zeigt die Ausgabe von einem Host mit dom0 auf 2.6 GiB

  Gesamtsumme Gebraucht Frei Geteilt Puffer/Cache Verfügbar
Mem: 2450 339 1556 9 554 2019
Tauschen: 1023 0 1023      

Welcher Wertebereich kann verwendet werden?

Da die Citrix Hypervisor Control Domain (dom0) 64-Bit ist, können große Werte verwendet werden, z. B. 32768 MiB. Wir empfehlen jedoch, den dom0-Speicher nicht unter 1 GiB zu reduzieren.

XenCenter Anzeigenotizen

Der gesamte Speicher des Hosts kann als Xen Hypervisor, dom0, VMs und freier Speicher betrachtet werden. Obwohl dom0 und VM-Speicher normalerweise eine feste Größe haben, verwendet der Xen Hypervisor eine variable Speichermenge. Die Menge des verwendeten Speichers hängt von verschiedenen Faktoren ab. Zu diesen Faktoren zählen die Anzahl der VMs, die auf dem Host zu jeder Zeit ausgeführt werden, und wie diese VMs konfiguriert werden. Es ist nicht möglich, die Menge an Speicher zu begrenzen, die Xen verwendet. Die Begrenzung der Speichermenge kann dazu führen, dass Xen nicht mehr genügend Arbeitsspeicher hat und verhindert wird, dass neue VMs gestartet werden, selbst wenn der Host über freien Speicher verfügt.

Um den einem Host zugewiesenen Speicher anzuzeigen, wählen Sie in XenCenter den Host aus, und klicken Sie dann auf die Registerkarte Speicher .

Im Feld Citrix Hypervisor wird die Summe des Speichers angezeigt, der dem Speicher dom0 und Xen zugewiesen ist. Daher kann die angezeigte Speichermenge höher sein als vom Administrator angegeben. Die Speichergröße kann beim Starten und Beenden von VMs variieren, selbst wenn der Administrator eine feste Größe für dom0 festgelegt hat.