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 Leistung einer bestimmten Instanz kann von der erwarteten Leistung abweichen. aufgrund verschiedener Faktoren wie Caching, Anzahl der Clients VMs, der Maschinentyp der Client-VMs und die getestete Arbeitslast.
Die folgenden Tabellen zeigen die erwartete Leistung von Filestore Instanzen basierend auf ihrer Dienststufe und konfigurierte Kapazität:
Leistung | Kapazität | Lese- und Schreib-IOPS | Lese- und Schreibdurchsatz (MiB/s) |
---|---|---|---|
BASIC_HDD |
1 TiB bis 10 TiB | 600/1,000 | 100/100 |
BASIC_HDD |
10 TiB bis 63,9 TiB | 1.000/5.000 | 180/120 |
BASIC_SSD |
2,5 TiB bis 63,9 TiB | 60,000/25,000 | 1,200/350 |
ZONAL |
1 TiB | 9.200/2.600 | 260/88 |
ZONAL |
9,75 TiB | 89.700/25.350 | 2.535/858 |
ZONAL |
10 TiB | 92.000/26.000 | 2.600/880 |
ZONAL |
100 TiB | 920.000/260.000 | 26.000/8.800 |
REGIONAL |
1 TiB | 12.000/4.000 | 120/100 |
REGIONAL |
9,75 TiB | 117.000/39.000 | 1.170/975 |
REGIONAL |
10 TiB | 92.000/26.000 | 2.600/880 |
REGIONAL |
100 TiB | 920.000/260.000 | 26.000/8.800 |
ENTERPRISE |
1 TiB | 12.000/4.000 | 120/100 |
ENTERPRISE |
10 TiB | 120.000/40.000 | 1.200/1.000 |
Die vorherige Tabelle zeigt die erwartete Leistung beim Mindest- und Höchstwert. Kapazität für jede Dienststufe. Zwischen diesen Limits wird die Leistung linear skaliert. wenn die Kapazität steigt. Wenn Sie z. B. Ihre Unternehmensinstanz verdoppeln von 1 TiB bis 2 TiB, entspricht die erwartete Leistung der Instanz verdoppelt sich von 12.000/4.000 Lese- und Schreib-IOPS auf 24.000/8.000 Lese- und Schreibvorgänge IOPS
In Szenarien mit einem oder wenigen Clients müssen Sie die Anzahl der TCP-Verbindungen
mit den
nconnect
ein, um die maximale NFS-Leistung zu erreichen. Wir empfehlen, bis zu
7
Verbindungen für die zonale Dienststufe und bis zu 2
Verbindungen für die
regionalen und Enterprise-Stufen. Je größer die Dateifreigabekapazität ist,
Und je weniger Client-VMs verbunden sind, desto mehr Leistung
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 16 Gbps
. Diese Bandbreite für ausgehenden Traffic ermöglicht
um etwa 16 Gbps
Lesebandbreite für cachefreundliche
Arbeitsbelastungen. Weitere Informationen finden Sie unter Netzwerkbandbreite.
Bereitstellungsoptionen für Linux-Clients
Wir empfehlen die folgenden NFS-Bereitstellungsoptionen, insbesondere hard
mount, async
und die Optionen rsize
und wsize
, um die bestmögliche
auf Linux-Client-VM-Instanzen. 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=262144 |
Der NFS-Client kann pro READ -Anfrage maximal 262.144 Byte vom NFS-Server empfangen. Hinweis: Legen Sie für Instanzen der Basisstufe den Wert rsize auf 1048576 fest. |
wsize=1048576 |
Der NFS-Client kann pro WRITE -Anfrage maximal 1.048.576 Byte (1 MiB) 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. |
VM-Leistung für einzelne und mehrere Clients
Die skalierbaren Dienststufen von Filestore sind leistungsoptimiert für mehrere Client-VMs und nicht eine einzelne Client-VM.
Bei zonalen, regionalen und Unternehmensinstanzen sind mindestens vier Client-VMs die Sie benötigen, um von der vollen Leistung zu profitieren. Dadurch wird sichergestellt, dass alle VMs im zugrunde liegenden Filestore-Cluster voll ausgelastet sind.
Für zusätzlichen Kontext hat der kleinste skalierbare Filestore-Cluster vier
VMs Jede Client-VM kommuniziert mit nur einem Filestore-Cluster
VM unabhängig von der Anzahl der NFS-Verbindungen pro Client, die mit der Methode
nconnect
Montageoption. Wenn Sie eine einzelne Client-VM verwenden,
die von einer einzelnen Filestore-Cluster-VM ausgeführt werden.
Leistung aller Google Cloud-Ressourcen verbessern
Vorgänge über mehrere Google Cloud-Ressourcen hinweg, z. B. das Kopieren von Daten von Cloud Storage in eine Filestore-Instanz, gcloud CLI, kann langsam sein. Um Leistungsprobleme zu mindern, versuchen Sie Folgendes: Folgendes:
Achten Sie darauf, dass der Cloud Storage-Bucket, die Client-VM und Filestore Instanz befinden sich alle in derselben Region.
Dual-Regionen bieten ein die leistungsfähigste Option für in Cloud Storage gespeicherte Daten. Bei Verwendung Mit dieser Option sorgen Sie dafür, dass sich die anderen Ressourcen in einer der Regionen befinden, die in der Dual-Region liegt. Wenn Ihre Cloud Storage-Daten z. B. befindet sich in
us-central1,us-west1
, achten Sie darauf, dass Ihre Client-VM und Filestore-Instanz befindet sich inus-central1
.Prüfen Sie als Referenz die Leistung einer mit einem PD verknüpften VM und mit der Leistung einer Filestore-Instanz vergleichen.
Wenn die Leistung der an den PD angeschlossenen VM im Vergleich zu der Filestore-Instanz, könnte dies auf eine Leistung und Engpässe haben, die in keinem Zusammenhang mit Filestore stehen. Um den Normalbereich zu verbessern die Leistung Ihrer Nicht-Filestore-Ressourcen nutzen, können Sie Attribute der gcloud CLI, die mit parallelen zusammengesetzten Uploads verknüpft sind. Weitere Informationen finden Sie unter Wie Tools und APIs parallele zusammengesetzte Uploads verwenden
Wenn die Leistung der Filestore-Instanz besonders langsamer als die VM mit dem PD ist, versuchen Sie, den Vorgang auf mehrere VMs zu verteilen.
Dies trägt dazu bei, die Leistung von Lesevorgängen aus Cloud Storage zu verbessern.
Für zonale, regionale und Unternehmensinstanzen mindestens vier Client-VMs sind erforderlich, um von der vollen Leistung zu profitieren. Dadurch wird sichergestellt, dass alle der VMs im zugrunde liegenden Filestore-Cluster sind vollständig genutzt werden. Weitere Informationen finden Sie unter Leistung von Einzel- und mehreren Client-VMs:
Testleistung
Unter Linux können Sie die Datei fio verwenden. Tool zum Benchmarking des Lese- und Schreibdurchsatzes und der IOPS für Instanzen der Basisstufe. Beachten Sie, dass diese Methode zum Benchmarking der Leistung für zonale, regionale und Unternehmensinstanzen.
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.
Im folgenden Beispiel wird der maximale Schreibdurchsatz gemessen:
fio --ioengine=libaio --filesize=32G --ramp_time=2s \ --runtime=5m --numjobs=16 --direct=1 --verify=0 --randrepeat=0 \ --group_reporting --directory=/mnt/nfs \ --name=write --blocksize=1m --iodepth=64 --readwrite=write
Im folgenden Beispiel werden maximale Schreib-IOPS gemessen:
fio --ioengine=libaio --filesize=32G --ramp_time=2s \ --runtime=5m --numjobs=16 --direct=1 --verify=0 --randrepeat=0 \ --group_reporting --directory=/mnt/nfs \ --name=randwrite --blocksize=4k --iodepth=256 --readwrite=randwrite
Im folgenden Beispiel wird der maximale Lesedurchsatz gemessen:
fio --ioengine=libaio --filesize=32G --ramp_time=2s \ --runtime=5m --numjobs=16 --direct=1 --verify=0 --randrepeat=0 \ --group_reporting --directory=/mnt/nfs \ --name=read --blocksize=1m --iodepth=64 --readwrite=read
Im folgenden Beispiel werden maximale Lese-IOPS gemessen:
fio --ioengine=libaio --filesize=32G --ramp_time=2s \ --runtime=5m --numjobs=16 --direct=1 --verify=0 --randrepeat=0 \ --group_reporting --directory=/mnt/nfs \ --name=randread --blocksize=4k --iodepth=256 --readwrite=randread