Optimiza el rendimiento en los buckets con el espacio de nombres jerárquico habilitado

En esta página, se proporciona orientación para optimizar el rendimiento en buckets con el espacio de nombres jerárquico habilitado.

Enumera objetos

Estas son las consideraciones de rendimiento para enumerar objetos:

  • En los buckets con el espacio de nombres jerárquico habilitado, enumerar todos los objetos para todo el bucket o con un prefijo requiere muchos recursos, ya que la operación debe atravesar cada carpeta y subcarpeta, de manera similar al comando ls -r en un sistema de archivos. En consecuencia, si hay más carpetas en tu bucket, la enumeración de objetos será más lenta. Una gran cantidad de carpetas vacías también puede afectar negativamente el rendimiento de la enumeración de objetos. Para evitar que el rendimiento se vea afectado de forma negativa, te recomendamos que maximices la cantidad de objetos en cada carpeta y borres las carpetas vacías con regularidad.
  • Enumerar o recuperar objetos y subcarpetas dentro de una carpeta específica con un delimitador y un prefijo específico es más eficiente en buckets con el espacio de nombres jerárquico habilitado, ya que los objetos se organizan dentro de una estructura de carpetas. Para optimizar el rendimiento de la enumeración cuando usas un delimitador y un prefijo específico, configura el parámetro includeFoldersAsPrefixes. De lo contrario, Cloud Storage realiza verificaciones adicionales para excluir las carpetas vacías, lo que puede ralentizar la operación. Para obtener más información sobre el uso de includeFoldersAsPrefixes cuando se enumeran objetos, consulta Enumera objetos.

Administración de carpetas

Para una administración eficiente de carpetas, te recomendamos lo siguiente:

  • Crea previamente la estructura de carpetas: En lugar de depender de la creación automática de carpetas durante las operaciones de carga, reescritura y composición de objetos, usa la operación de creación de carpetas para obtener la estructura de carpetas deseada con anticipación. La creación previa de la estructura de carpetas mejora la coherencia y la previsibilidad del rendimiento.
  • Maximiza la proporción de objetos por carpeta: Intenta obtener una proporción alta de objetos por carpeta, ya que reduce la sobrecarga asociada con la creación y la administración de carpetas.
  • Borra las carpetas vacías con regularidad: Las carpetas vacías pueden acumularse, en especial cuando se usa la Administración del ciclo de vida de los objetos o se borran objetos sin borrar de forma explícita sus carpetas superiores. Las carpetas acumuladas pueden afectar el rendimiento de la operación de enumeración de objetos y otras operaciones relacionadas con carpetas. Estos son algunos de los métodos que puedes usar para borrar carpetas vacías:
    • Cuando usas Cloud Storage FUSE o el conector de Cloud Storage para interactuar con un bucket habilitado con el espacio de nombres jerárquico, borrar un directorio borra la carpeta correspondiente en tu bucket.
    • Puedes usar una eliminación recursiva para borrar carpetas automáticamente cuando usas la Google Cloud consola o Google Cloud CLI.
    • Puedes usar la secuencia de comandos delete_empty_folders.py para borrar periódicamente carpetas vacías con procesamiento en paralelo. La secuencia de comandos proporciona una opción para segmentar un prefijo de ruta de acceso de carpeta específico, lo que permite que la secuencia de comandos realice eliminaciones de carpetas en un subconjunto de la estructura de directorios del bucket. Además, la secuencia de comandos borra todas las carpetas vacías (creadas de forma implícita o explícita), incluidas las carpetas administradas y sus políticas de IAM asociadas. Para obtener detalles sobre cómo usar la secuencia de comandos, consulta el archivo README en GitHub.

¿Qué sigue?