Leistung in Buckets mit aktiviertem hierarchischen Namespace optimieren
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Auf dieser Seite finden Sie eine Anleitung zur Optimierung der Leistung in Buckets mit aktiviertem hierarchischen Namespace.
Objekte auflisten
Im Folgenden finden Sie die Leistungsaspekte für das Auflisten von Objekten:
In Buckets mit aktiviertem hierarchischen Namespace ist das Auflisten aller Objekte für den gesamten Bucket oder mit einem Präfix ressourcenintensiv, da bei dem Vorgang jeder Ordner und Unterordner durchlaufen werden muss, ähnlich wie beim Befehl ls -r in einem Dateisystem. Je mehr Ordner in Ihrem Bucket vorhanden sind, desto langsamer erfolgt die Objektauflistung. Eine große Anzahl leerer Ordner kann sich auch negativ auf die Leistung der Objektliste auswirken. Um die Leistung nicht zu beeinträchtigen, empfehlen wir, die Anzahl der Objekte in jedem Ordner zu maximieren und leere Ordner regelmäßig zu löschen.
Das Auflisten oder Abrufen von Objekten und Unterordnern in einem bestimmten Ordner mit einem Trennzeichen und einem bestimmten Präfix ist in Buckets mit aktiviertem hierarchischem Namespace effizienter, da die Objekte in einer Ordnerstruktur organisiert sind. Wenn Sie ein Trennzeichen und ein bestimmtes Präfix verwenden, können Sie die Leistung von Einträgen optimieren, indem Sie den Parameter includeFoldersAsPrefixes festlegen. Andernfalls führt Cloud Storage zusätzliche Prüfungen durch, um leere Ordner auszuschließen, was den Vorgang verlangsamen kann. Weitere Informationen zur Verwendung von includeFoldersAsPrefixes beim Auflisten von Objekten finden Sie unter Objekte auflisten.
Ordnerverwaltung
Für eine effiziente Ordnerverwaltung empfehlen wir Folgendes:
Ordnerstruktur vorab erstellen:Anstatt sich auf die automatische Ordnererstellung beim Hochladen, Überschreiben und Zusammensetzen von Objekten zu verlassen, verwenden Sie den Vorgang zum Erstellen von Ordnern, um die gewünschte Ordnerstruktur vorab zu erstellen.
Wenn Sie die Ordnerstruktur vorab erstellen, verbessern Sie die Konsistenz und Vorhersagbarkeit der Leistung.
Verhältnis von Objekten zu Ordnern maximieren:Achten Sie auf ein hohes Verhältnis von Objekten zu Ordnern, da dies den Aufwand für das Erstellen und Verwalten von Ordnern verringert.
Anfragen zum Erstellen und Löschen von Ordnern begrenzen:Das Erstellen oder Löschen von Ordnern ist aufgrund der hierarchischen Struktur ressourcenintensiver als das Arbeiten mit einzelnen Objekten. Um eine reibungslose Leistung zu gewährleisten, beschränkt Cloud Storage diese Vorgänge auf 1.000 Anfragen pro Sekunde für jeden Bucket. Anfragen, die dieses Limit überschreiten, werden nicht explizit eingeschränkt. Die Ressourcenverfügbarkeit bestimmt jedoch, ob sie erfolgreich verarbeitet werden können.
Leere Ordner regelmäßig löschen:Leere Ordner können sich ansammeln, insbesondere wenn Sie die Verwaltung des Objektlebenszyklus verwenden oder Objekte löschen, ohne die übergeordneten Ordner explizit zu löschen. Die angehäuften Ordner können die Leistung von Vorgängen zum Auflisten von Objekten und anderen ordnerbezogenen Vorgängen beeinträchtigen. Im Folgenden finden Sie einige Methoden, mit denen Sie leere Ordner löschen können:
Wenn Sie Cloud Storage FUSE oder den Cloud Storage-Connector verwenden, um mit einem Bucket mit hierarchischem Namespace zu interagieren, wird beim Löschen eines Verzeichnisses der entsprechende Ordner in Ihrem Bucket gelöscht.
Sie können Ordner automatisch löschen, indem Sie die Google Cloud Console oder die Google Cloud CLI verwenden.
Sie können das Skript delete_empty_folders.py verwenden, um leere Ordner regelmäßig parallel zu löschen. Das Skript bietet die Möglichkeit, einen bestimmten Ordnerpfad anzugeben. So können Ordnerlöschungen nur für einen Teil der Verzeichnisstruktur des Buckets ausgeführt werden. Außerdem werden alle leeren Ordner (implizit oder explizit erstellt), einschließlich verwalteter Ordner und der zugehörigen IAM-Richtlinien, gelöscht.
Weitere Informationen zur Verwendung des Skripts finden Sie in der README-Datei auf GitHub.
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Schwer verständlich","hardToUnderstand","thumb-down"],["Informationen oder Beispielcode falsch","incorrectInformationOrSampleCode","thumb-down"],["Benötigte Informationen/Beispiele nicht gefunden","missingTheInformationSamplesINeed","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-08-18 (UTC)."],[],[],null,["# Optimize performance in buckets with hierarchical namespace enabled\n\nThis page provides guidance on how you can optimize performance in buckets with\nhierarchical namespace enabled.\n\nListing objects\n---------------\n\nThe following are the performance considerations for listing objects:\n\n- In buckets with hierarchical namespace enabled, listing all objects for the entire bucket or with a prefix is resource-intensive as the operation must traverse each folder and subfolder, similar to the `ls -r` command in a file system. Consequently, if there are more folders in your bucket, the slower the object listing happens. A large number of empty folders can also negatively impact object listing performance. To avoid negatively impacting performance, we recommend that you maximize the number of objects in each folder and regularly delete empty folders.\n- Listing or retrieving objects and sub folders within a specific folder using a delimiter and a specific prefix is more efficient in buckets with hierarchical namespace enabled as the objects are organized within a folder structure. To optimize listing performance when using a delimiter and a specific prefix, set the `includeFoldersAsPrefixes` parameter. Otherwise, Cloud Storage performs additional checks to exclude empty folders, which can slow down the operation. For more information about using the `includeFoldersAsPrefixes` when listing objects, see [Listing objects](/storage/docs/json_api/v1/objects/list).\n\nFolder management\n-----------------\n\nFor efficient folder management, we recommend the following:\n\n- **Pre-create folder structure:** Instead of relying on automatic folder creation during object upload, rewrite, and compose operations, use the create folder operation to obtain your intended folder structure in advance. Pre-creating the folder structure improves the performance consistency and predictability.\n- **Maximize objects per folder ratio:** Aim for a high objects-to-folder ratio as it reduces the overhead associated with folder creation and management.\n- **Limit folder creation and deletion requests:** Creating or deleting folders is more resource-intensive than working with individual objects due to its hierarchical nature. To ensure a smooth performance, Cloud Storage limits these operations to 1000 requests per second for each bucket. Requests exceeding this limit are not explicitly restricted but resource availability determines whether they can be processed successfully.\n- **Regularly delete empty folders:** Empty folders can accumulate, especially when using Object Lifecycle Management or deleting objects without explicitly deleting their parent folders. The accumulated folders can impact the performance of object listing operation and other folder related operations. The following are some of the methods that you can use to delete empty folders:\n - When you use [Cloud Storage FUSE](/storage/docs/gcs-fuse) or [Cloud Storage connector](/dataproc/docs/concepts/connectors/cloud-storage) to interact with a bucket enabled with hierarchical namespace, deleting a directory deletes the corresponding folder in your bucket.\n - You can use a recursive delete to delete folders automatically when using the Google Cloud console or Google Cloud CLI.\n - You can use the [`delete_empty_folders.py`](https://github.com/GoogleCloudPlatform/python-docs-samples/blob/main/storage/hierarchical-namespace/delete_empty_folders.py) script to periodically delete empty folders using parallel processing. The script provides an option to target a specific folder path prefix, which allows the script to perform folder deletions on a subset of the bucket's directory structure. Additionally, the script deletes all empty folders (created implicitly or explicitly) including managed folders and their associated IAM policies. For details about how to use the script, see the [README on GitHub](https://github.com/GoogleCloudPlatform/python-docs-samples/tree/main/storage/hierarchical-namespace/README.d).\n\nWhat's next\n-----------\n\n- [Create and manage folders](/storage/docs/create-folders).\n- [Rename a folder](/storage/docs/rename-hns-folders).\n- [Listing objects](/storage/docs/listing-objects)."]]