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