Speicher-Lesespeicher-Caching

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

Die Leistungsverbesserung ist sichtbar, 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, die in schweren E/A -Situationen auftritt. Zum Beispiel in den folgenden Situationen:

  • Wenn eine beträchtliche Anzahl von Endbenutzern innerhalb eines sehr engen Zeitrahmens gestartet wird (Boot-Storm)
  • Wenn eine beträchtliche Anzahl von VMs geplant ist, Malware-Scans gleichzeitig auszuführen (Antiviren-Stürme).

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

Hinweis:

Storage Read Caching ist für HASH (0x2c1a078) HASH (0x2e72eb8) -Kunden verfügbar.

Storage Read Caching ist auch für Kunden verfügbar, die über ihre Citrix Virtual Apps und Desktops Berechtigungen auf HASH (0x2c1a078) zugreifen.

Aktivieren und Deaktivieren des Lese-Caching

Für dateibasierte SRs wie NFS- und EXT3 SR-Typen ist die Lese-Zwischenspeicherung standardmäßig aktiviert. Die Lese-Zwischenspeicherung ist für alle anderen SRs deaktiviert.

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

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

Einschränkungen

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

  • Das Lese-Caching gilt nur für schreibgeschützte VDIs und VDI-Eltern. Diese VDIs existieren, wenn VMs aus „Fast Clone“ oder Festplatten-Snapshots erstellt werden. Die größten Leistungsverbesserungen sind sichtbar, wenn viele VMs von einem einzigen „goldenen“ Image geklont werden.

  • Leistungsverbesserungen hängen von der Menge des freien Speichers ab, der in der Steuerdomäne des Hosts (dom0) verfügbar ist. Durch die Erhöhung des dom0-Speichers kann mehr Speicher dem Lese-Cache zugewiesen werden. Hinweise zur Konfiguration des dom0-Speichers finden Sie unterCTX134951.

Vergleich mit IntelliCache

IntelliCache und speicherbasierte Lese-Caching sind zu einigen Punkten 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-Lese-Caching speichert die Lesevorgänge vom Netzwerk oder von der Festplatte in den Hostspeicher. Der Vorteil des In-Memory-Lese-Caching 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 Lese-Caching als auch IntelliCache können gleichzeitig aktiviert werden. In diesem Fall speichert IntelliCache die Lesevorgänge aus dem Netzwerk auf eine lokale Festplatte. Lesevorgänge von dieser lokalen Festplatte werden im Speicher mit Lese-Caching zwischengespeichert.

Festlegen der Lesecachegröße

Die Lesecache-Performance kann optimiert werden, indem der Steuerdomäne von HASH (0x2c1a078) mehr Speicher zur Verfügung gestellt wird (dom0).

Wichtig:

Legen Sie die Lesecachegröße auf ALLE Hosts im Pool einzeln 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 HASH (0x2e68218) 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 Lesecachegröße 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 vonfree -m zeigt die aktuellen dom0-Speichereinstellungen an. Der Wert kann aufgrund verschiedener Gemeinkosten niedriger sein als erwartet. Die folgende Beispieltabelle zeigt die Ausgabe von einem Host mit dom0 auf 2,6 GiB

  Gesamt 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 HASH (0x2c1a078) 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.

HASH (0x2e6c8e8) Anzeigenotizen

Der gesamte Arbeitsspeicher 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 Menge an Speicher. 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 die Konfiguration dieser VMs. 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 genügend Arbeitsspeicher hat und neue VMs gestartet werden können, selbst wenn der Host über freien Speicher verfügt.

Um den Speicher anzuzeigen, der einem Host zugewiesen ist, wählen Sie in HASH (0x2e6c8e8) den Host aus, und klicken Sie dann auf die Registerkarte Speicher .

Das Feld HASH (0x2e68218) zeigt die Summe des Speichers an, der 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.