Instanzleistung

Auf dieser Seite werden die Leistungsgrenzen für Filestore-Instanzen sowie empfohlene Leistungseinstellungen und Testoptionen beschrieben.

Jede Filestore-Dienststufe bietet ein anderes Leistungsniveau, das aufgrund von Faktoren wie der Verwendung von Caching, der Anzahl der Client-VMs, dem Maschinentyp der Client-VMs und der getesteten Arbeitslast variieren kann.

In der folgenden Tabelle ist die maximale Leistung aufgeführt, die Sie erreichen können, wenn Sie die Mindest- und Maximalkapazität für jede Dienststufe festlegen.

Alle Tabellenwerte sind geschätzte Grenzwerte und nicht garantiert. Informationen zu benutzerdefinierten Leistungseinstellungen und -grenzen finden Sie unter Benutzerdefinierte Leistungsgrenzen.

Leistungsgrenzen bei der Mindest- und Maximalkapazität für jede Dienststufe
Dienststufe Kapazität IOPS für Lesevorgänge IOPS für Schreibvorgänge Lesedurchsatz (MiB/s) Schreibdurchsatz (MiB/s) Lesedurchsatz für einen einzelnen Client (MiB/s) Schreibdurchsatz für einen einzelnen Client (MiB/s) Benutzerdefinierte Leistung unterstützt
BASIC_HDD 1 TiB bis 10 TiB 600 1.000 100 100 100 100 Nein
10 TiB bis 63,9 TiB 1.000 5.000 180 120 180 120
BASIC_SSD 2,5 TiB bis 63,9 TiB 60.000 25.000 1.200 350 1.200 350
ZONAL 1 TiB 9.200 2.600 260 88 260 88 Ja
9,75 TiB 89.700 25.350 2.535 858 450 260
10 TiB 92.000 26.000 2.600 880 1.600 800
100 TiB 920.000 260.000 26.000 8.800 1.600 800
REGIONAL 1 TiB 12.000 4.000 120 100 120 100
9,75 TiB 117.000 39.000 1.170 975 450 260
10 TiB 92.000 26.000 2.600 880 1.600 800
100 TiB 920.000 260.000 26.000 8.800 1.600 800
ENTERPRISE 1 TiB 12.000 4.000 120 100 120 100 Nein
10 TiB 120.000 40.000 1.200 1.000 450 260

Leistungsskalierung

Die Leistung wird innerhalb der in der vorherigen Tabelle aufgeführten Leistungsgrenzen linear mit der Kapazität skaliert. Wenn Sie beispielsweise die Kapazität Ihrer Enterprise-Instanz von 1 TiB auf 2 TiB verdoppeln, verdoppelt sich die Leistungsgrenze der Instanz von 12.000/4.000 IOPS für Lese- und Schreibvorgänge auf 24.000/8.000 IOPS für Lese- und Schreibvorgänge.

In Szenarien mit einem oder wenigen Clients müssen Sie die Anzahl der TCP Verbindungen mit der nconnect Bereitstellungsoption erhöhen, um die maximale NFS-Leistung zu erzielen.

Für bestimmte Dienststufen empfehlen wir, die folgende Anzahl von Verbindungen zwischen Client und Server anzugeben:

Stufe Kapazität Anzahl der Verbindungen
Regional, zonal 1–9,75 TiB nconnect=2
Regional, zonal 10–100 TiB nconnect=7
Unternehmen - nconnect=2
Hochskalierte SSD - nconnect=7

Im Allgemeinen gilt: Je größer die Dateifreigabekapazität und je weniger verbindende Client-VMs, desto mehr Leistung gewinnen Sie, wenn Sie zusätzliche Verbindungen mit nconnect angeben.

Benutzerdefinierte Leistung

Legen Sie die benutzerdefinierte Leistung fest, um die Leistung unabhängig von der angegebenen Kapazität entsprechend Ihren Arbeitslastanforderungen zu konfigurieren. Sie können entweder ein IOPS-pro-TiB-Verhältnis angeben oder eine feste Anzahl von IOPS festlegen. Weitere Informationen finden Sie unter Benutzerdefinierte Leistung.

Bei GKE-Arbeitslasten können Sie die IOPS für zonale und regionale Stufen unabhängig von der Kapazität skalieren. Mit der VolumeAttributesClass API können Sie die IOPS für Live-Volumes dynamisch anpassen, ohne dass es zu Ausfallzeiten kommt. Eine detaillierte Anleitung zum Konfigurieren der benutzerdefinierten Leistung mit dem CSI-Treiber finden Sie unter Benutzerdefinierte Leistung konfigurieren.

Empfohlener Client-Maschinentyp

Wir empfehlen einen Compute Engine-Maschinentyp wie n2-standard-8 mit einer Bandbreite für ausgehenden Traffic von mindestens 16 Gbit/s. Mit dieser Bandbreite für ausgehenden Traffic kann der Client etwa 16 Gbit/s an Lesebandbreite für cache-freundliche Arbeitslasten erreichen. Weitere Informationen finden Sie unter Netzwerkbandbreite.

Bereitstellungsoptionen für Linux-Clients

Wir empfehlen, die folgenden NFS-Bereitstellungsoptionen zu verwenden, insbesondere die hard-Bereitstellung, async und die Optionen rsize und wsize, um die beste Leistung auf Linux-Client-VM-Instanzen zu erzielen. Weitere Informationen zu NFS-Bereitstellungsoptionen finden Sie unter nfs.

Standardeinstellung Beschreibung
hard Der NFS-Client wiederholt NFS-Anforderungen auf unbestimmte Zeit.
timeo=600 Der NFS-Client wartet 600 Dezisekunden (60 Sekunden), bevor eine NFS-Anforderung wiederholt wird.
retrans=3 Der NFS-Client versucht dreimal, NFS-Anforderungen zu erfüllen, bevor weitere Wiederherstellungsmaßnahmen ergriffen werden.
rsize=524288 Der NFS-Client kann pro READ-Anforderung maximal 524.288 Byte vom NFS-Server empfangen.
Hinweis: Legen Sie für Instanzen der Basic-Stufe den Wert rsize auf 1048576 fest.
wsize=524288 Der NFS-Client kann pro WRITE-Anforderung maximal 524.288 Byte an den NFS-Server senden.
resvport Der NFS-Client verwendet einen privilegierten Quellport, wenn er mit dem NFS-Server für diesen Bereitstellungspunkt kommuniziert.
async Der NFS-Client verzögert das Senden von Anwendungsschreibvorgängen an den NFS-Server, bis bestimmte Bedingungen erfüllt sind.
Achtung: Durch die Verwendung der sync Option wird die Leistung erheblich reduziert.

NFS-Lesedurchsatz mit dem Parameter read_ahead_kb optimieren

Der NFS-Parameter read_ahead_kb gibt die Datenmenge in Kilobyte an, die der Linux-Kernel bei einem sequenziellen Lesevorgang vorab abrufen soll. Dadurch können die nachfolgenden Leseanfragen direkt aus dem Speicher bedient werden, um die Latenz zu verringern und die Gesamtleistung zu verbessern.

Bei Linux-Kernelversionen 5.4 und höher verwendet der Linux-NFS-Client einen Standardwert von 128 KB für read_ahead_kb. Wir empfehlen, diesen Wert auf 20 MB zu erhöhen, um den sequenziellen Lesedurchsatz zu verbessern.

Nachdem Sie die Dateifreigabe erfolgreich auf der Linux-Client-VM bereitgestellt haben, können Sie mit dem folgenden Skript den read_ahead_kb Parameterwert manuell anpassen:

mount_point=MOUNT_POINT_DIRECTORY
device_number=$(stat -c '%d' $mount_point)
((major = ($device_number & 0xFFF00) >> 8))
((minor = ($device_number & 0xFF) | (($device_number >> 12) & 0xFFF00)))
sudo bash -c "echo 20480 > /sys/class/bdi/$major:$minor/read_ahead_kb"

Wobei:

MOUNT_POINT_DIRECTORY ist der Pfad zu dem Verzeichnis, in dem die Dateifreigabe bereitgestellt wird.

Leistung bei einzelnen und mehreren Client-VMs

Die skalierbaren Dienststufen von Filestore sind für mehrere Client-VMs und nicht für eine einzelne Client-VM optimiert.

Für zonale, regionale und Enterprise-Instanzen sind mindestens vier Client-VMs erforderlich, um die volle Leistung zu nutzen. Dadurch wird sichergestellt, dass alle VMs im zugrunde liegenden Filestore-Cluster vollständig ausgelastet sind.

Der kleinste skalierbare Filestore-Cluster besteht aus vier VMs. Jede Client-VM kommuniziert nur mit einer Filestore-Cluster-VM, unabhängig von der Anzahl der NFS-Verbindungen pro Client, die mit der nconnect Bereitstellungsoption angegeben werden. Wenn Sie eine einzelne Client-VM verwenden, werden Lese- und Schreibvorgänge nur von einer einzelnen Filestore-Cluster-VM ausgeführt.

Leistung über mehrere Ressourcen hinweg verbessern Google Cloud

Vorgänge über mehrere Google Cloud Ressourcen hinweg, z. B. das Kopieren von Daten aus Cloud Storage in eine Filestore-Instanz mit der gcloud CLI, können langsam sein. So können Sie Leistungsprobleme vermeiden:

  • Der Cloud Storage-Bucket, die Client-VM und die Filestore Instanz müssen sich in derselben Region befinden.

    Doppelregionen bieten eine leistungsstarke Option für Daten, die in Cloud Storage gespeichert sind. Wenn Sie diese Option verwenden, müssen sich die anderen Ressourcen in einer der einzelnen Regionen befinden, die in der Doppelregion enthalten sind. Wenn sich Ihre Cloud Storage-Daten beispielsweise in us-central1,us-west1 befinden, müssen sich Ihre Client-VM und Ihre Filestore-Instanz in us-central1 befinden.

  • Überprüfen Sie die Leistung einer VM mit einem angehängten nichtflüchtigen Speicher (PD) und vergleichen Sie sie mit der Leistung einer Filestore-Instanz.

    • Wenn die Leistung der VM mit angehängtem nichtflüchtigem Speicher im Vergleich zur Filestore-Instanz ähnlich oder langsamer ist, kann dies auf einen Leistungsengpass hinweisen, der nicht mit Filestore zusammenhängt. Um die Baseline-Leistung Ihrer Nicht-Filestore-Ressourcen zu verbessern, können Sie die gcloud CLI-Attribute anpassen, die mit parallelen zusammengesetzten Uploads verknüpft sind. Weitere Informationen finden Sie unter Parallele zusammengesetzte Uploads mit Tools und APIs.
    • Wenn die Leistung der Filestore-Instanz deutlich langsamer ist als die der
      VM mit angehängtem nichtflüchtigem Speicher, verteilen Sie den Vorgang auf mehrere VMs.

    • Dadurch wird die Leistung von Lesevorgängen aus Cloud Storage verbessert.

    • Für zonale, regionale und Enterprise-Instanzen sind mindestens vier Client-VMs erforderlich, um die volle Leistung zu nutzen. Dadurch wird sichergestellt, dass alle VMs im zugrunde liegenden Filestore-Cluster vollständig ausgelastet sind. Weitere Informationen finden Sie unter Leistung bei einzelnen und mehreren Client-VMs.

Nächste Schritte