Speicher-Lesecaching

Das Lese-Caching verbessert die Datenträgerleistung 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. Beispiel: In Umgebungen mit MCS (Machine Creation Service) der Citrix Virtual Desktops s-Umgebung.

Die Leistungsverbesserung kann beobachtet werden, wenn Daten mehr als einmal von der Festplatte gelesen werden, da sie im Speicher zwischengespeichert werden. Diese Änderung ist am deutlichsten in der Verschlechterung des Dienstes, der in schweren E/A-Situationen auftritt. Zum Beispiel in den folgenden Situationen:

  • Wenn eine beträchtliche Anzahl von Endbenutzern innerhalb eines sehr engen Zeitrahmens hochfahren (Boot-Storm)
  • Wenn eine beträchtliche Anzahl von VMs für die gleichzeitige Ausführung von Malware-Scans geplant ist (Virenschutzstürme).

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

Hinweis:

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

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

Lese-Zwischenspeicherung aktivieren und deaktivieren

Bei dateibasierten SRs, z. B. 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 das Lesezwischenspeichern für einen bestimmten SR mit der xe CLI zu deaktivieren:

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

Um das Lesezwischenspeichern für eine bestimmte SR mithilfe von XenCenter zu deaktivieren, rufen Sie das Dialogfeld Eigenschaften für die SR auf. Auf der Registerkarte “ Lesezwischenspeicherung “ können Sie das Lesezwischenspeichern aktivieren oder deaktivieren.

Weitere Informationen finden Sie unter SR-Eigenschaften ändern.

Einschränkungen

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

  • Das Lesezwischenspeichern gilt nur für schreibgeschützte VDIs und VDI-übergeordnete VDIs. Diese VDIs sind dort vorhanden, wo VMs aus “Fast Clone” oder Festplatten-Snapshots erstellt werden. Die größten Leistungsverbesserungen sind zu sehen, wenn viele VMs von einem einzigen “goldenen” Image geklont werden.

  • Leistungsverbesserungen hängen von der Menge des freien Speichers ab, der in der Control Domain (dom0) des Hosts verfügbar ist. Wenn Sie die Menge an dom0-Speicher erhöhen, kann mehr Speicher dem Lese-Cache zugewiesen werden. Weitere Informationen zum Konfigurieren des dom0-Speichers finden Sie unter CTX134951.

Vergleich mit IntelliCache

IntelliCache und speicherbasiertes Lese-Caching sind zu einigen Aspekten 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 eine lokale Festplatte. In-Memory-Read-Caching speichert die Lesevorgänge aus dem Netzwerk oder der Festplatte 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 I/O-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.

Legen Sie die Größe des Lese-Caches fest

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

Wichtig:

Legen Sie zur Optimierung die Lese-Cache-Größe auf ALLE Hosts im Pool individuell 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-Server eine lokale Shell und melden Sie sich als root an.

Führen Sie den folgenden Befehl aus, um die Größe des Lesecaches 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 Größe des Lese-Caches geändert haben.

Wie zeigt man die aktuelle dom0-Speicherzuweisung an?

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

free -m

Die Ausgabe von free -m zeigt die aktuellen dom0-Speichereinstellungen an. Der Wert kann aufgrund verschiedener Gemeinkosten geringer sein als erwartet. Die folgende Beispieltabelle zeigt die Ausgabe eines Hosts mit dom0 auf 2.6 GiB

|                     | Total  | Used | Free  | Shared | Buffer/cache | Available |
|---------------------|--------|------|-------|--------|--------------|-----------|
| Mem:                | 2450   | 339  | 1556  | 9      | 554          | 2019      |
| Swap:               | 1023   | 0    | 1023  |        |              |           |

Welcher Wertebereich kann genutzt werden?

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

XenCenter Anzeigehinweise

Der gesamte Speicher des Hosts kann als Xen Hypervisor, dom0, VMs und freier Speicher betrachtet werden. Obwohl dom0 und VM-Speicher in der Regel 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 jederzeit auf dem Host 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 des Arbeitsspeichers kann dazu führen, dass Xen nicht mehr genügend Arbeitsspeicher hat und dass neue VMs gestartet werden können, 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.