Auf dieser Seite erfahren Sie, wie Sie die Leistung von Cloud Storage FUSE verbessern können.
Lese- und Schreibleistung verbessern
Um die Lese- und Schreibleistung zu verbessern, empfehlen wir Folgendes:
Caching aktivieren: Cloud Storage FUSE bietet vier optionale clientseitige Cachetypen, mit denen bestimmte Datentypen und Metadaten lokal gespeichert werden, um die Leistung zu verbessern:
Datei-Caching: Hier werden Kopien von Dateien gespeichert, auf die häufig zugegriffen wird.
Stat-Caching: Hier werden Dateimetadaten gespeichert.
Typ-Caching: Hier werden Informationen zum Dateityp gespeichert.
Listen-Caching: Hier werden Verzeichniseinträge gespeichert.
Das Caching von Cloud Storage FUSE funktioniert mit jedem benutzerdefinierten Verzeichnis, das durch den von Ihnen ausgewählten Speicher gesichert ist. Die Cache-Leistung von Cloud Storage FUSE entspricht mit minimalem Aufwand dem zugrunde liegenden Speicher, der vom Cache verwendet wird.
Lesevorgänge durch parallele Downloads beschleunigen: Beschleunigen Sie große Dateilesevorgänge über 1 GB, indem Sie parallele Downloads aktivieren. Weitere Informationen finden Sie unter Leseleistung mit parallelen Downloads verbessern
Nach Möglichkeit sequenzielle Lesearbeitslasten ausführen: Cloud Storage FUSE bietet eine bessere Leistung für sequenzielle Lesearbeitslasten als für zufällige Lesearbeitslasten. Cloud Storage FUSE verwendet eine Heuristik, um zu erkennen, wann eine Datei nacheinander gelesen wird. Dadurch kann Cloud Storage FUSE weniger große Leseanfragen über dieselbe TCP-Verbindung senden.
Dateigrößen je nach Lesetyp anpassen: Zur Optimierung der sequenziellen Leseleistung wird empfohlen, Dateien mit einer Größe von 5 MB und 200 MB hochzuladen. Zur Optimierung der zufälligen Leseleistung empfehlen wir, Dateien mit einer Größe von etwa 2 MB hochzuladen und zu lesen.
Buckets mit aktiviertem hierarchischen Namespace bereitstellen: Um die Lese- und Schreibleistung zu erhöhen und für eine höhere Anzahl von Abfragen pro Sekunde (QPS) Atomarität zu gewährleisten, empfehlen wir, Buckets bereitzustellen, bei denen der hierarchische Namespace aktiviert ist. Weitere Informationen dazu, wie Buckets mit aktiviertem hierarchischen Namespace die Leistung von Cloud Storage FUSE verbessern können, finden Sie unter Buckets mit aktiviertem hierarchischen Namespace bereitstellen.
Leistung beim ersten Lesen verbessern
Bevor Sie die Arbeitslast ausführen, empfehlen wir, zuerst die Dateien in Ihrem bereitgestellten Bucket rekursiv aufzulisten, um die Statistik- und Typ-Caches vorab zu füllen und die Leistung bei der ersten Ausführung mit einer schnelleren Batchmethode zu verbessern:
ls -R MOUNT_POINT > /dev/null
Datei-Caching verwenden, um den Durchsatz zu verbessern
Cloud Storage FUSE hat eine höhere Latenz als ein lokales Dateisystem. Der Durchsatz wird reduziert, wenn Sie kleine Dateien einzeln lesen oder schreiben, da dies zu mehreren separaten API-Aufrufen führt. Wenn Sie mehrere große Dateien gleichzeitig lesen oder schreiben, können Sie den Durchsatz erhöhen. Mit der Cloud Storage FUSE-Dateicache-Funktion können Sie die Leistung bei kleinen und zufälligen E/A-Vorgängen verbessern. Weitere Informationen zum Datei-Caching und zum Aktivieren der Funktion finden Sie unter Datei-Caching mit Cloud Storage FUSE verwenden.
Buckets mit aktiviertem hierarchischen Namespace bereitstellen
Um Atomarität für Vorgänge mit einer höheren Anzahl von ursprünglichen Abfragen pro Sekunde (QPS) wie Checkpointing und Verzeichnisumbenennungen oder ‑änderungen zu gewährleisten, empfehlen wir, Buckets mit aktiviertem hierarchischen Namespace bereitzustellen. Mit einem hierarchischen Namespace werden Ihre Daten in einer hierarchischen Dateisystemstruktur organisiert, wodurch Vorgänge innerhalb des Buckets effizienter werden. List object-Aufrufe (BucketHandle.Objects
) werden durch get folder-Aufrufe ersetzt. Dies führt zu kürzeren Antwortzeiten und insgesamt weniger Listenaufrufen für jede Operation.
Größe der Vorab-Lesevorgänge erhöhen, um den Durchsatz bei großen Lesevorgängen zu verbessern
Sie können den Lesedurchsatz verbessern, indem Sie die Menge der Daten erhöhen, die mit jeder Leseanfrage mithilfe des read_ahead_kb
Linux-Kernelparameters auf Ihrem lokalen Computer vorab abgerufen werden. Wir empfehlen, den read_ahead_kb
-Kernelparameter auf 1 MB zu erhöhen, anstatt die Standardmenge von 128 KB zu verwenden, die in den meisten Linux-Distributionen festgelegt ist. Es sind entweder sudo
- oder root
-Berechtigungen erforderlich, um den Kernelparameter zu erhöhen.
Wenn Sie den Kernelparameter read_ahead_kb
für ein bestimmtes Cloud Storage FUSE-gemountetes Verzeichnis auf 1 MB erhöhen möchten, verwenden Sie den folgenden Befehl, wobei /path/to/mount/point
der Cloud Storage FUSE-Anlegepunkt ist. Der Bucket muss vor Ausführung des Befehls auf Cloud Storage FUSE bereitgestellt werden, da der Kernelparameter sonst nicht erhöht wird.
export MOUNT_POINT=/path/to/mount/point
echo 1024 | sudo tee /sys/class/bdi/0:$(stat -c "%d" $MOUNT_POINT)/read_ahead_kb
Maximalen Durchsatz erzielen
Verwenden Sie für einen maximalen Durchsatz einen Computer mit ausreichend CPU-Ressourcen, um den Durchsatz zu steigern und die Netzwerkschnittstellenkarte (NIC) zu sättigen. Unzureichende CPU-Ressourcen können zu einer Drosselung von Cloud Storage FUSE führen.
Wenn Sie Google Kubernetes Engine verwenden, erhöhen Sie die CPU-Zuweisung für den Cloud Storage FUSE-Sidecar-Container, wenn Ihre Arbeitslasten einen höheren Durchsatz benötigen. Sie können die vom Sidecar-Container verwendeten Ressourcen erhöhen oder unbegrenzte Ressourcen zuweisen.
IOPS-Anforderungen in Abfragen pro Sekunde bewerten
Filestore ist eine bessere Option als Cloud Storage FUSE für Arbeitslasten, die hohe sofortige Eingabe/-Ausgabevorgänge pro Sekunde (IOPS) erfordern, die in Cloud Storage auch als Abfragen pro Sekunde bezeichnet werden: Filestore ist auch die bessere Option für sehr hohe IOPS auf einem einzelnen Dateisystem mit geringerer Latenz.
Alternativ können Sie auch das Cloud Storage FUSE-Dateicache-Feature verwenden, um auf den Leistungsmerkmalen der zugrunde liegenden Cache-Medien aufzubauen, wenn es hohe IOPS und niedrige Latenz bietet.
Lasttests durchführen
Eine Anleitung zur Durchführung von Lasttests in Cloud Storage FUSE finden Sie in der Dokumentation „Leistungsbenchmarks in der GitHub“.
Nächste Schritte
- Weitere Informationen zum Caching mit Cloud Storage FUSE
- Weitere Informationen zur Semantik und Fehlerbehebung bei Cloud Storage FUSE auf GitHub