Optimiser les performances dans les buckets avec l'espace de noms hiérarchique activé

Cette page vous explique comment optimiser les performances des buckets avec l'espace de noms hiérarchique activé.

Répertorier les objets

Voici les points à prendre en compte pour optimiser les performances de la création de liste d'objets :

  • Dans les buckets avec l'espace de noms hiérarchique activé, répertorier tous les objets de l'ensemble du bucket ou filtrés avec un préfixe nécessite beaucoup de ressources, car l'opération doit parcourir chaque dossier et sous-dossier, comme la commande ls -r dans un système de fichiers. Par conséquent, plus votre bucket contient de dossiers, plus la création d'une liste d'objets est longue. Un grand nombre de dossiers vides peut également avoir un impact négatif sur les performances de la création de liste d'objets. Pour éviter cela, nous vous recommandons d'optimiser le nombre d'objets dans chaque dossier et de supprimer régulièrement les dossiers vides.
  • Il est plus efficace de répertorier ou de récupérer des objets et des sous-dossiers dans un dossier spécifique à l'aide d'un délimiteur et d'un préfixe spécifique dans les buckets avec l'espace de noms hiérarchique activé, car les objets sont organisés dans une structure de dossiers. Pour optimiser les performances de création de liste à l'aide d'un délimiteur et d'un préfixe spécifique, définissez le paramètre includeFoldersAsPrefixes. Sinon, Cloud Storage effectuera des vérifications supplémentaires pour exclure les dossiers vides, ce qui peut ralentir l'opération. Pour en savoir plus sur l'utilisation de includeFoldersAsPrefixes lors de la création de liste d'objets, consultez Répertorier les objets.

Gestion des dossiers

Pour gérer efficacement vos dossiers, nous vous recommandons de suivre les conseils suivants :

  • Créer au préalable la structure de dossiers : au lieu de vous fier à la création automatique de dossiers lors des opérations d'importation, de réécriture et de composition d'objets, utilisez l'opération de création de dossiers pour obtenir à l'avance la structure de dossiers souhaitée. La création de la structure de dossiers au préalable améliore la cohérence et la prévisibilité des performances.
  • Optimiser le ratio objets/dossiers : visez un ratio objets/dossiers élevé, car cela réduit les frais généraux associés à la création et à la gestion des dossiers.
  • Limiter les requêtes de création et de suppression de dossiers : la création ou la suppression de dossiers consomme plus de ressources que l'utilisation d'objets individuels en raison de leur nature hiérarchique. Pour garantir des performances fluides, Cloud Storage limite ces opérations à 1 000 requêtes par seconde et par bucket. Les requêtes qui dépassent cette limite ne sont pas explicitement restreintes, mais la disponibilité des ressources détermine si elles peuvent être traitées correctement.
  • Supprimer régulièrement les dossiers vides : les dossiers vides peuvent s'accumuler, en particulier lorsque vous utilisez la gestion du cycle de vie des objets ou que vous supprimez des objets sans supprimer explicitement leurs dossiers parents. L'accumulation de dossiers peut avoir une incidence sur les performances de l'opération de création de liste d'objets et d'autres opérations liées aux dossiers. Voici quelques-unes des méthodes que vous pouvez utiliser pour supprimer les dossiers vides :
    • Lorsque vous utilisez Cloud Storage FUSE ou le connecteur Cloud Storage pour interagir avec un bucket avec l'espace de noms hiérarchique activé, la suppression d'un répertoire supprime le dossier correspondant dans votre bucket.
    • Vous pouvez utiliser une suppression récursive pour supprimer automatiquement des dossiers lorsque vous utilisez la console Google Cloud ou la Google Cloud CLI.
    • Vous pouvez utiliser le script delete_empty_folders.py pour supprimer régulièrement les dossiers vides à l'aide du traitement parallèle. Le script permet de cibler un préfixe de chemin d'accès à un dossier spécifique, ce qui permet de supprimer des dossiers sur un sous-ensemble de la structure de répertoires du bucket. De plus, le script supprime tous les dossiers vides (créés de manière implicite ou explicite), y compris les dossiers gérés et leurs stratégies IAM associées. Pour savoir comment utiliser le script, consultez le fichier README sur GitHub.

Étapes suivantes