Mengoptimalkan performa di bucket dengan namespace hierarkis yang diaktifkan
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Halaman ini memberikan panduan tentang cara mengoptimalkan performa di bucket dengan namespace hierarkis diaktifkan.
Mencantumkan objek
Berikut adalah pertimbangan performa untuk mencantumkan objek:
Di bucket dengan namespace hierarkis yang diaktifkan, mencantumkan semua objek untuk seluruh bucket atau dengan awalan memerlukan banyak resource karena operasi harus menjelajahi setiap folder dan subfolder, mirip dengan perintah ls -r dalam sistem file. Akibatnya, jika ada lebih banyak folder di bucket Anda, listingan objek akan lebih lambat. Sejumlah besar folder kosong juga dapat berdampak negatif pada performa listingan objek. Untuk menghindari dampak negatif pada
performa, sebaiknya maksimalkan jumlah objek di setiap
folder dan hapus folder kosong secara rutin.
Mencantumkan atau mengambil objek dan subfolder dalam folder tertentu menggunakan pembatas dan awalan tertentu lebih efisien di bucket dengan namespace hierarkis yang diaktifkan karena objek disusun dalam struktur folder. Untuk mengoptimalkan performa listingan saat menggunakan pembatas dan
awalan tertentu, tetapkan parameter includeFoldersAsPrefixes. Jika tidak,
Cloud Storage akan melakukan pemeriksaan tambahan untuk mengecualikan folder kosong,
yang dapat memperlambat operasi. Untuk mengetahui informasi selengkapnya tentang penggunaan
includeFoldersAsPrefixes saat mencantumkan objek, lihat Mencantumkan objek.
Pengelolaan folder
Untuk pengelolaan folder yang efisien, sebaiknya lakukan hal berikut:
Buat struktur folder terlebih dahulu: Daripada mengandalkan pembuatan folder otomatis selama operasi upload, penulisan ulang, dan penyusunan objek, gunakan operasi pembuatan folder untuk mendapatkan struktur folder yang diinginkan terlebih dahulu.
Membuat struktur folder terlebih dahulu akan meningkatkan konsistensi dan
prediktabilitas performa.
Maksimalkan rasio objek per folder: Usahakan rasio objek terhadap folder yang tinggi karena akan mengurangi overhead yang terkait dengan pembuatan dan pengelolaan folder.
Batasi permintaan pembuatan dan penghapusan folder: Membuat atau menghapus
folder lebih banyak menggunakan resource daripada bekerja dengan objek individual karena
sifat hierarkisnya. Untuk memastikan performa yang lancar, Cloud Storage membatasi operasi ini hingga 1.000 permintaan per detik untuk setiap bucket. Permintaan yang melampaui batas ini tidak dibatasi secara eksplisit
tetapi ketersediaan resource menentukan apakah permintaan tersebut dapat diproses
dengan berhasil.
Hapus folder kosong secara rutin: Folder kosong dapat menumpuk, terutama saat menggunakan Object Lifecycle Management atau menghapus objek tanpa menghapus folder induknya secara eksplisit. Folder yang terakumulasi dapat memengaruhi performa operasi listingan objek dan operasi terkait folder lainnya. Berikut beberapa metode yang dapat Anda gunakan untuk menghapus folder kosong:
Saat Anda menggunakan Cloud Storage FUSE atau konektor Cloud Storage untuk berinteraksi dengan bucket yang mengaktifkan namespace hierarkis, menghapus direktori akan menghapus folder yang sesuai di bucket Anda.
Anda dapat menggunakan penghapusan rekursif untuk menghapus folder secara otomatis saat menggunakan konsol Google Cloud atau Google Cloud CLI.
Anda dapat menggunakan skrip delete_empty_folders.py untuk menghapus folder kosong secara berkala menggunakan pemrosesan paralel. Skrip ini menyediakan opsi untuk menargetkan awalan jalur folder tertentu, yang memungkinkan skrip melakukan penghapusan folder pada subset struktur direktori bucket. Selain itu, skrip akan menghapus semua folder kosong (dibuat secara implisit atau eksplisit), termasuk folder terkelola dan kebijakan IAM terkait.
Untuk mengetahui detail tentang cara menggunakan skrip, lihat README di GitHub.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Sulit dipahami","hardToUnderstand","thumb-down"],["Informasi atau kode contoh salah","incorrectInformationOrSampleCode","thumb-down"],["Informasi/contoh yang saya butuhkan tidak ada","missingTheInformationSamplesINeed","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 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)."]]