Leistung

Auf dieser Seite werden die erwartete durchschnittliche Leistung und die empfohlenen Leistungseinstellungen für Filestore beschrieben. Außerdem erfahren Sie, wie Sie die Leistung Ihrer Filestore-Instanzen testen können.

Erwartete Leistung

Jede Filestore-Dienststufe bietet eine andere Leistungsebene. Die Basisstufen bieten eine konsistente Leistung über eine 10-TB-Instanzkapazität. Bei Instanzen mit hoher Skalierung steigt oder sinkt die Leistung linear, wenn die Kapazität erhöht oder verringert wird.

Die Leistung einer bestimmten Instanz kann aufgrund einer Vielzahl von Faktoren von den gemeldeten Werten abweichen. Dazu gehören unter anderem die Verwendung des Cachings auf dem Client oder Server oder der Compute Engine-Maschinentyp, der für die Client-VM-Instanz und die zu testende Arbeitslast verwendet wird.

In den folgenden Tabellen wird die erwartete Leistung von Filestore-Instanzen basierend auf der Dienststufe und der konfigurierten Kapazität angezeigt:

Leistung Kapazität (TB) Lese-/Schreib-IOPS Lese-/Schreib-Tput (MB/s)
BASIC_HDD 1–10 600/1.000 100/100
BASIC_HDD 10-63,9 1.000/5.000 180/120
BASIC_SSD 2.5-63,9 60.000/25.000 1.200/350
HIGH_SCALE_SSD 60 90.000/30.000 3.000/660
HIGH_SCALE_SSD 320 480.000/160.000 16.000/3.520

Hohe SSD-Leistungsskalierung und Leistung pro Client

Die Leistung von Instanzen mit hoher Skalierung skaliert linear mit der zugewiesenen Kapazität in zehn TB-Schritten. In der folgenden Tabelle sehen Sie, welche Leistung Sie mit jeweils 10 TB der Kapazität erzielt haben.

Spezifikation Maximale IOPS (kontinuierlich)1 Maximaler kontinuierlicher Durchsatz2 (MB/s)
Lesen pro 10TB 15.000 500
Schreiben pro 10TB 5.000 110

Diese Leistungszahlen entsprechen auch der Leistungsgrenze pro Client für jede Instanz. Obwohl beispielsweise eine Instanz mit hoher Skalierungsstufe mit einer Kapazität von 60 TB einen maximalen kontinuierlichen Lese-/Schreibdurchsatz von 3.000/660 MB/s hat, beträgt der maximale Durchsatz, der pro Client erreicht werden kann, bei 500/110 MB/s. Für Instanzen der Basisstufe gibt es keine clientspezifische Leistungsbegrenzung.

Empfohlener Client-Maschinentyp

Wir empfehlen einen Compute Engine-Maschinentyp von n1-standard-8 oder höher für die Client-VM-Instanz. Dadurch kann der Client etwa 16 Gbps Lese-Bandbreite für cache-freundliche Arbeitslasten erreichen.

Bereitstellungsoptionen für Linux-Clients

Wir empfehlen, die standardmäßigen NFS-Bereitstellungsoptionen zu verwenden, insbesondere eine hard-Bereitstellung und die Einstellung der Optionen async und rsize und wsize auf 1 MB, um die beste Leistung auf Linux-Client-VM-Instanzen zu erzielen. Weitere Informationen zu NFS-Bereitstellungsoptionen finden Sie unter nfs.

Zum Maximieren klicken – Standard-NFS-mount-Optionen

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=1048576 Der NFS-Client kann pro READ-Anforderung maximal 1.048.576 Byte (1 MiB) vom NFS-Server empfangen.
wsize=1048576 Der NFS-Client kann pro WRITE-Anforderung maximal 1.048.576 Byte (1 MiB) vom NFS-Server empfangen.
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.

Testleistung

Wenn Sie Linux verwenden, können Sie mit dem fio-Tool den Lese- und Schreibdurchsatz und die IOPS für Instanzen der Basisstufe vergleichen. Die Beispiele in diesem Abschnitt zeigen allgemeine Benchmarks, die Sie möglicherweise ausführen möchten. Möglicherweise müssen Sie fio von mehreren Client-VM-Instanzen aus ausführen, um maximale Leistung zu erzielen. Diese Methode zum Benchmarking der Leistung liefert keine genauen Ergebnisse für Instanzen mit hoher Skalierungsstufe.

Im folgenden Beispiel wird der maximale Schreibdurchsatz gemessen:

fio --ioengine=sync --direct=0 \
--fsync_on_close=1 --randrepeat=0 --nrfiles=1  --name=seqwrite --rw=write \
--bs=1m --size=20G --end_fsync=1 --fallocate=none  --overwrite=0 --numjobs=1 \
--directory=/mnt/gcfs --loops=10

Im folgenden Beispiel werden maximale Schreib-IOPS gemessen:

fio --ioengine=sync --direct=0 \
--fsync_on_close=1 --randrepeat=0 --nrfiles=1  --name=randwrite --rw=randwrite \
--bs=4K --size=1G --end_fsync=1 --fallocate=none  --overwrite=0 --numjobs=80 \
--sync=1 --directory=/mnt/standard --loops=10

Im folgenden Beispiel wird der maximale Lesedurchsatz gemessen:

fio --ioengine=sync --direct=0 \
--fsync_on_close=1 --randrepeat=0 --nrfiles=1  --name=seqread --rw=read \
--bs=1m --size=240G --end_fsync=1 --fallocate=none  --overwrite=0 --numjobs=1 \
--directory=/mnt/ssd --invalidate=1 --loops=10

Im folgenden Beispiel werden maximale Lese-IOPS gemessen:

fio --ioengine=sync --direct=0 \
--fsync_on_close=1 --randrepeat=0 --nrfiles=1  --name=randread --rw=randread \
--bs=4K --size=1G --end_fsync=1 --fallocate=none  --overwrite=0 --numjobs=20 \
--sync=1 --invalidate=1 --directory=/mnt/standard  --loops=10

  1. Die Zahlen werden basierend auf 4.000 Lese-/Schreibvorgänge gemessen. 

  2. Die Zahlen werden auf der Grundlage von 1 Mio. Lese-/Schreibvorgängen gemessen.