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.
| 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-west1befinden, müssen sich Ihre Client-VM und Ihre Filestore-Instanz inus-central1befinden.Ü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.