Lorsque je lance l'opération RefreshCache sur ma passerelle de fichiers dans AWS Storage Gateway, elle prend beaucoup de temps.
Résolution
Remarque : si des erreurs surviennent lorsque vous exécutez des commandes de l’interface de la ligne de commande AWS (AWS CLI), consultez la page Résoudre les erreurs liées à AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l’AWS CLI.
L'opération RefreshCache identifie les modifications apportées aux objets Amazon Simple Storage Service (Amazon S3) depuis la dernière fois que la passerelle a identifié et mis en cache les objets. Les modifications peuvent inclure des mises à jour, des chargements ou des objets supprimés. Pour terminer cette opération, la passerelle de fichiers exécute une opération LIST récursive sur le compartiment Amazon S3. La passerelle de fichiers exécute ensuite une opération d'objet HEAD sur chaque objet qui revient de l'opération LIST. L'opération HEAD conserve les métadonnées et les stocke dans le cache de la passerelle de fichiers.
Les facteurs suivants influencent la durée d'une opération RefreshCache :
- Si le compartiment S3 contient un grand nombre d'objets, la durée d'exécution de RefreshCache augmente. Cela est dû au fait que la passerelle de fichiers exécute un objet HEAD sur tous les objets du compartiment.
- Les opérations RefreshCache sont spécifiques aux partages de fichiers individuels au sein d'une passerelle de fichiers. Un partage de fichiers prend en charge deux opérations d'API RefreshCache à la fois. Si vous envoyez d'autres requêtes pour lancer une actualisation du cache, d'autres opérations sont lancées avant la fin des opérations en cours. Cela peut entraîner une erreur InvalidGatewayRequestException.
- Les compartiments S3 peuvent prendre en charge 3 500 requêtes PUT/COPY/POST/DELETE ou 5 500 requêtes GET/HEAD par seconde et par préfixe. Ces taux de requêtes pris en charge s'appliquent également aux requêtes effectuées par la passerelle de fichiers dans vos compartiments S3. Le nombre de requêtes influe sur la rapidité avec laquelle une opération RefreshCache est exécutée. La durée d'exécution de RefreshCache peut augmenter si le compartiment S3 est également utilisé par des services autres que la passerelle de fichiers.
Pour réduire la durée d'exécution d'une opération RefreshCache, effectuez l'une des opérations suivantes :
- Réduisez le nombre d'objets dans le compartiment.
- Déployez plusieurs partages de fichiers qui correspondent à des préfixes distincts dans le compartiment S3. N'utilisez pas un seul partage de fichiers pour le compartiment entier.
Remarque : Vous pouvez créer jusqu'à 10 partages de fichiers pour une passerelle de fichiers individuelle. Étant donné que les opérations RefreshCache sont exécutées par partage de fichiers, cela peut contribuer à réduire le temps nécessaire à l'exécution des opérations RefreshCache individuelles.
- Si vous utilisez un partage de fichiers pour l'intégralité d'un compartiment S3, concentrez les opérations RefreshCache sur des préfixes ou des dossiers spécifiques du compartiment qui sont mis à jour avec de nouveaux objets. Cela réduit la portée de l'opération et peut contribuer à réduire la durée d’exécution. Ciblez les opérations RefreshCache sur des dossiers spécifiques lorsque vous utilisez l'AWS CLI ou l'API Storage Gateway pour exécuter l'opération. Cette option n'est pas disponible dans la console Storage Gateway.
- Exécutez l'opération RefreshCache en heures creuses pour les autres requêtes adressées au compartiment S3. Vous pouvez utiliser AWS Lambda et Amazon CloudWatch pour démarrer l'opération sur un minuteur.
Informations connexes
Automatisation du processus d'actualisation du cache pour File Gateway sur AWS Storage Gateway