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

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

Répertorier les objets

Voici les considérations relatives aux performances pour l'affichage des objets :

  • Dans les buckets avec l'espace de noms hiérarchique activé, lister tous les objets pour l'ensemble du bucket ou 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 le listage des objets est lent. Un grand nombre de dossiers vides peut également avoir un impact négatif sur les performances de listage des objets. Pour éviter tout impact négatif sur les performances, nous vous recommandons de maximiser le nombre d'objets dans chaque dossier et de supprimer régulièrement les dossiers vides.
  • Il est plus efficace de lister 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 pour lesquels l'espace de noms hiérarchique est activé, car les objets sont organisés dans une structure de dossiers. Pour optimiser les performances des annonces lorsque vous utilisez un délimiteur et un préfixe spécifique, définissez le paramètre includeFoldersAsPrefixes. Sinon, Cloud Storage effectue 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 liste des objets, consultez Lister des objets.

Gestion des dossiers

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

  • Précréer 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 la structure de dossiers souhaitée à l'avance. La pré-création de la structure de dossiers améliore la cohérence et la prévisibilité des performances.
  • Maximisez 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.
  • Limitez les demandes 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 pour chaque 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 avec succès.
  • Supprimez 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 un impact sur les performances de l'opération 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 pour lequel l'espace de noms hiérarchique est 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 Trusted Cloud ou 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 lui 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