Leistung und Best Practices für Cloud Storage FUSE

Auf dieser Seite werden die Leistung von Cloud Storage FUSE in Bezug auf Latenz, Bandbreite, Caching und Wiederholungsversuche sowie Best Practices für die Verwendung von Cloud Storage FUSE beschrieben.

Lese- und Schreibvorgänge

Cloud Storage FUSE bietet eine bessere Leistung bei sequenziellen Lese- und Schreibarbeitslasten als zufällige Lese- und Schreibarbeitslasten. 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.

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 wird empfohlen, Dateien mit einer Größe von etwa 2 MB hochzuladen und zu lesen.

IOPS (Abfragen pro Sekunde)

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 und geringere Latenz.

Latenz und Durchsatz

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.

Die Dateisystemlatenz von Cloud Storage FUSE wirkt sich auf rsync aus, das jeweils nur eine Datei liest und schreibt. Wenn Sie mehrere Dateien parallel in oder aus Ihrem Bucket übertragen möchten, verwenden Sie gsutil mit gsutil -m rsync. Weitere Informationen finden Sie in der Dokumentation zu gsutil rsync.

Ratenbegrenzung

Um die Rate zu begrenzen, die Cloud Storage FUSE an Cloud Storage sendet, können Sie die folgenden Optionen als Teil Ihres gcsfuse mount-Befehls verwenden:

  • Die Option --limit-ops-per-sec steuert die Rate, mit der Cloud Storage FUSE Anfragen an Cloud Storage sendet.

  • Die Option --limit-bytes-per-sec steuert die Bandbreite, mit der Cloud Storage FUSE Daten aus Cloud Storage herunterlädt.

Weitere Informationen zu diesen Optionen finden Sie in der Dokumentation zu gcsfuse mount.

Alle Ratenbegrenzungen sind ungefähre Angaben und werden über ein Zeitfenster von 8 Stunden ausgeführt. Standardmäßig werden keine Ratenbegrenzungen angewendet.

Steuerung des Uploadverfahrens

Standardmäßig werden fehlgeschlagene Anfragen von Cloud Storage FUSE an Cloud Storage mit exponentiellem Backoff wiederholt, bis eine festgelegte Backoff-Dauer erreicht wurde, die standardmäßig den Wert 1 (eine Minute) hat. Wenn die Backoff-Dauer das angegebene Limit überschreitet, wird der Wiederholungsversuch beendet. Sie können die Option --max-retry-sleep als Teil eines gcsfuse mount-Aufrufs verwenden, um die Backoff-Dauer anzugeben. Der Wert 0 deaktiviert Wiederholungsversuche.

Weitere Informationen zur Option --max-retry-sleep finden Sie in der Dokumentation zu gcsfuse mount.

Caching

Cloud Storage FUSE verwendet standardmäßig Statistik-Caching und Typ-Caching. Sie können das Caching-Verhalten von Cloud Storage FUSE steuern. Verwenden Sie dazu die Optionen --stat-cache-capacity, --stat-cache-ttl und --type-cache-ttl als Teil eines gcsfuse mount-Aufrufs:

  • Die Option --stat-cache-capacity steuert die Größe des Statistik-Caches.

  • Die Option --stat-cache-ttl gibt an, wie lange Cloud Storage FUSE Statistikeinträge im Cache speichert.

  • Die Option --type-cache-ttl gibt an, wie lange Cloud Storage FUSE die Zuordnung von Objekten in Cloud Storage zum entsprechenden Typ wie Dateien oder Verzeichnissen im Cache speichert.

Weitere Informationen zu den Optionen für Statistik-Caching und Typ-Caching finden Sie in der Dokumentation zu gcsfuse mount.

Hinweise

Wenn Sie alle Objekte in einem bereitgestellten Bucket auflisten (z. B. durch Ausführen von ls), ruft Cloud Storage FUSE die Objects: list API in Cloud Storage auf. Die API paginiert Ergebnisse. Das bedeutet, dass Cloud Storage FUSE möglicherweise mehrere Aufrufe ausführen muss, je nachdem, wie viele Objekte sich im Bucket befinden. Beachten Sie, dass dadurch ein Auflistenvorgang teuer und langsam werden kann.

Benchmarks

Eine Anleitung zur Durchführung von Lasttests in Cloud Storage FUSE finden Sie in der Dokumentation „Leistungsbenchmarks in der GitHub“.