Instanzleistung

Auf dieser Seite werden die Leistungsoptionen für Filestore-Instanzen vorgestellt und allgemeine Empfehlungen zur Leistungsoptimierung gegeben. Wenn Sie die Google Cloud -Konsole zum Erstellen von zonen- und regionenbezogenen Instanzen verwenden, ist die benutzerdefinierte Leistung standardmäßig aktiviert. So können Sie die IOPS unabhängig von der Kapazität skalieren, um die Anforderungen Ihrer spezifischen Arbeitslast zu erfüllen.

In der folgenden Tabelle finden Sie eine Zusammenfassung der Leistungsgrenzwerte für die unteren und oberen Kapazitätsbereiche bei benutzerdefinierten Leistungseinstellungen:

Kapazitätsbereich Dienststufe Kapazität Bereitgestellte IOPS pro TiB
Niedriger Kapazitätsbereich Regional (kleine Instanzen in der Region verfügbar) 100 GiB bis 10.239 GiB 4.000 bis 17.000
Regional (kleine Instanzen in der Region nicht verfügbar) 1 TiB bis 9,75 TiB 4.000 bis 17.000
Zonal 1 TiB bis 9,75 TiB 4.000 bis 17.000
Höherer Kapazitätsbereich Regional 10 TiB bis 100 TiB 3.000 bis 7.500
Zonal 10 TiB bis 100 TiB 3.000 bis 7.500

Leistungsberechnungen nachvollziehen

In der folgenden Tabelle sehen Sie Leistungsberechnungen basierend auf bereitgestellten IOPS pro TiB und zugewiesener Kapazität. Die Berechnungen basieren auf verschiedenen Kapazitätsbereichen, um zu zeigen, wie sich die Werte für Lese-IOPS, Schreib-IOPS, Lesedurchsatz und Schreibdurchsatz für die minimalen und maximalen IOPS pro TiB-Werte ändern.

Weitere Informationen finden Sie unter Lese- und Schreib-IOPS.

Kapazitätsbereich Mindest- und Maximalwert für bereitgestellte IOPS pro TiB:
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)
Niedriger Kapazitätsbereich
(100 GiB bis 10.239 GiB)
4.000 100 GiB 2.000* 600 47 16 47 16
600 GiB 2.344 703 55 19 55 19
1.024 GiB 4.000 1.200 94 32 94 32
10.239 GiB 39.996 11.999 940 320 450 260
17.000 100 GiB 2.000 600 47 16 47 16
600 GiB 9.961 2.988 234 80 234 80
1.024 GiB 17.000 5.100 400 136 400 136
10.239 GiB 169.983 50.995 3.995 1.360 450 260
Höherer Kapazitätsbereich
(10 TiB bis 100 TiB)
3.000 10 TiB 30.000 9.000 705 240 705 240
7.500 100 TiB 750.000 225.000 17.625 6.000 1.600 800

* Je nach Zugriff auf die Funktion für Instanzen mit geringer Kapazität kann der niedrigere Kapazitätsbereich für regionale Filestore-Instanzen entweder 100 GiB bis 10.239 GiB oder 1 TiB bis 9,75 TiB betragen. Weitere Informationen finden Sie unter Filestore-Instanzen mit geringer Kapazität.

Leistungsskalierung

In Szenarien mit einem oder wenigen Clients müssen Sie die Anzahl der TCP-Verbindungen mit der Bereitstellungsoption nconnect 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.

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 Lese-Bandbreite 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 erreichen. 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 Option sync 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. Die nachfolgenden Leseanfragen können daher direkt aus dem Arbeitsspeicher 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 read_ahead_kb von 128 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 den read_ahead_kb-Parameterwert mit dem folgenden Skript 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"

Ersetzen Sie Folgendes:

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

Leistung einzelner und mehrerer Client-VMs

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

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

Zur zusätzlichen Information: Der kleinste skalierbare Filestore-Cluster hat vier VMs. Jede Client-VM kommuniziert mit nur einer Filestore-Cluster-VM, unabhängig von der Anzahl der NFS-Verbindungen pro Client, die mit der Mount-Option nconnect angegeben werden. Wenn Sie eine einzelne Client-VM verwenden, werden Lese- und Schreibvorgänge nur von einer einzelnen Filestore-Cluster-VM ausgeführt.

Kapazitätsbasierte Leistungsgrenzen

Kapazitätsbasierte Limits gelten für Dienststufen, die keine benutzerdefinierte Leistung unterstützen, z. B. Basic-Stufen, oder für Instanzen, in denen Sie die benutzerdefinierte Leistung manuell deaktivieren.

Jede Filestore-Dienststufe bietet eine andere Leistungsebene, die 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 Höchstkapazität für die einzelnen Service-Tiers festlegen. Alle Tabellenwerte sind geschätzte Grenzwerte.

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)
Zonal 1 TiB 9.200 2.600 260 88 260 88
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
Unternehmen 1 TiB 12.000 4.000 120 100 120 100
10 TiB 120.000 40.000 1.200 1.000 450 260
Basic HDD 1 TiB bis 10 TiB 600 1.000 100 100 100 100
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

Leistung für Google Cloud Ressourcen verbessern

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

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

    Dual-Regions bieten eine leistungsstarke Option für in Cloud Storage gespeicherte Daten. Wenn Sie diese Option verwenden, müssen sich die anderen Ressourcen in einer der Einzelregionen befinden, die in der Dual-Region 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.

  • Prüfen Sie zum Vergleich die Leistung einer VM mit angehängtem nichtflüchtigem Speicher und vergleichen Sie sie mit der Leistung einer Filestore-Instanz.

    • Wenn die Leistung der an die PD angehängten VM ähnlich oder langsamer ist als die der Filestore-Instanz, kann dies auf einen Leistungsengpass hinweisen, der nicht mit Filestore zusammenhängt. Sie können die Baseline-Leistung Ihrer Nicht-Filestore-Ressourcen verbessern, indem Sie die gcloud CLI-Eigenschaften für parallele zusammengesetzte Uploads anpassen. Weitere Informationen finden Sie unter So verwenden Tools und APIs parallele zusammengesetzte Uploads.
    • Wenn die Leistung der Filestore-Instanz deutlich langsamer ist als die der
      -VM, versuchen Sie, den Vorgang auf mehrere VMs zu verteilen, um die Leistung von Lesevorgängen aus Cloud Storage zu verbessern.

Nächste Schritte