Optimizar el rendimiento de los segmentos con el espacio de nombres jerárquico habilitado

En esta página se explica cómo optimizar el rendimiento de los contenedores con el espacio de nombres jerárquico habilitado.

Mostrar objetos

A continuación, se indican las consideraciones sobre el rendimiento de los objetos de lista:

  • En los contenedores con el espacio de nombres jerárquico habilitado, enumerar todos los objetos de todo el contenedor o con un prefijo requiere muchos recursos, ya que la operación debe recorrer cada carpeta y subcarpeta, de forma similar al comando ls -r en un sistema de archivos. Por lo tanto, si hay más carpetas en tu contenedor, más lento será el proceso de creación de la lista de objetos. Un gran número de carpetas vacías también puede afectar negativamente al rendimiento de la lista de objetos. Para evitar que afecte negativamente al rendimiento, te recomendamos que maximices el número de objetos de cada carpeta y que elimines periódicamente las carpetas vacías.
  • Listar u obtener objetos y subcarpetas de una carpeta específica mediante un delimitador y un prefijo concreto es más eficiente en los contenedores con el espacio de nombres jerárquico habilitado, ya que los objetos se organizan en una estructura de carpetas. Para optimizar el rendimiento de las fichas cuando se usa un delimitador y un prefijo específico, defina el parámetro includeFoldersAsPrefixes. De lo contrario, Cloud Storage realiza comprobaciones adicionales para excluir las carpetas vacías, lo que puede ralentizar la operación. Para obtener más información sobre cómo usar includeFoldersAsPrefixes al enumerar objetos, consulta Enumerar objetos.

Gestión de carpetas

Para gestionar las carpetas de forma eficiente, te recomendamos que hagas lo siguiente:

  • Crear la estructura de carpetas previamente: 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 que quieras con antelación. Si creas la estructura de carpetas previamente, mejorarás la coherencia y la previsibilidad del rendimiento.
  • Maximizar la proporción de objetos por carpeta: procura que la proporción de objetos por carpeta sea alta, ya que reduce la sobrecarga asociada a la creación y la gestión de carpetas.
  • Limita las solicitudes de creación y eliminación de carpetas: crear o eliminar carpetas requiere más recursos que trabajar con objetos individuales debido a su naturaleza jerárquica. Para asegurar un rendimiento óptimo, Cloud Storage limita estas operaciones a 1000 solicitudes por segundo en cada segmento. Las solicitudes que superen este límite no están restringidas explícitamente, pero la disponibilidad de recursos determina si se pueden procesar correctamente.
  • Elimina periódicamente las carpetas vacías: las carpetas vacías pueden acumularse, sobre todo cuando se usa la gestión del ciclo de vida de los objetos o se eliminan objetos sin eliminar explícitamente sus carpetas principales. Las carpetas acumuladas pueden afectar al rendimiento de la operación de enumeración de objetos y de otras operaciones relacionadas con carpetas. A continuación, se indican algunos de los métodos que puedes usar para eliminar carpetas vacías:
    • Cuando usas Cloud Storage FUSE o el conector de Cloud Storage para interactuar con un segmento en el que se ha habilitado el espacio de nombres jerárquico, al eliminar un directorio se elimina la carpeta correspondiente del segmento.
    • Puedes usar la eliminación recursiva para eliminar carpetas automáticamente cuando uses la Google Cloud consola o la CLI de Google Cloud.
    • Puedes usar la secuencia de comandos delete_empty_folders.py para eliminar periódicamente carpetas vacías mediante el procesamiento paralelo. La secuencia de comandos ofrece la opción de orientarse a un prefijo de ruta de carpeta específico, lo que permite que la secuencia de comandos elimine carpetas de un subconjunto de la estructura de directorios del segmento. Además, la secuencia de comandos elimina todas las carpetas vacías (creadas de forma implícita o explícita), incluidas las carpetas gestionadas y sus políticas de gestión de identidades y accesos asociadas. Para obtener más información sobre cómo usar la secuencia de comandos, consulta el archivo LÉEME en GitHub.

Siguientes pasos