Comment puis-je résoudre les problèmes de ralentissement des performances lorsque je copie des fichiers locaux dans Storage Gateway ?

Date de la dernière mise à jour : 29/09/2022

Je souhaite copier des fichiers locaux dans mon partage de fichiers NFS (Network File System) ou Server Message Block (SMB) sur AWS Storage Gateway, mais le transfert est lent. Comment puis-je améliorer les performances de téléchargement ?

Résolution

Considérez les moyens suivants pour améliorer les performances lorsque vous copiez des fichiers locaux dans un partage de fichiers sur Storage Gateway :

Remarque : une passerelle de fichiers est un cache de magasin d'objets, et non un serveur de fichiers. Cela signifie que les caractéristiques de performance d'une passerelle de fichiers diffèrent de celles des serveurs de fichiers.

Adaptation de votre charge de travail

Pour obtenir les meilleures performances, mettez à l'échelle votre charge de travail en ajoutant des threads ou des clients. Lorsque vous transférez un répertoire de fichiers, une passerelle de fichiers évolue mieux lorsque la charge de travail est multithread ou implique plusieurs clients. Passez en revue votre outil de gestion de fichiers et vérifiez si l'outil exécute des téléchargements mono-thread par défaut.

Il est recommandé d'utiliser plusieurs threads ou clients lorsque vous transférez des fichiers petits ou volumineux. Vous obtenez le débit le plus élevé de MiB par seconde lorsque vous transférez des fichiers volumineux (des dizaines ou des centaines de Mio chacun) en utilisant plusieurs threads. En raison de la surcharge liée à la création de nouveaux fichiers, le transfert de nombreux petits fichiers entraîne un débit inférieur en MiB par seconde par rapport à la même charge de travail avec les fichiers volumineux.

Pour effectuer une copie multithread sous Windows, utilisez robocopy, un outil de copie de fichiers de Microsoft.

Remarque : pour les transferts de fichiers plus petits, mesurez le taux de transfert en fichiers par seconde au lieu de MiB par seconde. Le taux de création de fichiers peut prendre un espace de charge de travail associé au transfert de fichiers plus petits.

Ajustement de votre stockage en cache

Ajustez la taille totale du stockage en cache de votre passerelle en fonction de la taille de l'ensemble de travail actif. Un cache qui utilise plusieurs disques locaux peut paralléliser l'accès aux données et entraîner plus d’opérations d’entrée/sortie par seconde (IOPS). Pour plus d'informations, consultez Conseils de performance pour la passerelle de fichiers Amazon Simple Storage Service (Amazon S3).

Surveillez également la métrique CachePercentDirty de votre passerelle. Cette métrique renvoie le pourcentage de stockage en cache occupé par des données qui ne sont pas maintenues dans un compartiment S3. Une valeur élevée de CachePercentDirty peut entraîner la limitation des écritures sur la passerelle par le stockage en cache de la passerelle.

Utilisation de disques plus performants

Il est recommandé d'utiliser des disques SSD (Solid State Drive) sauvegardés pour le stockage en cache de votre passerelle avec une location dédiée. Dans l’idéal, les disques physiques sous-jacents ne doivent pas être partagés avec d'autres machines virtuelles, et ce, afin d'éviter l'épuisement des IOPS.

Pour mesurer les IOPS du disque, utilisez les métriques ReadBytes et WriteBytes avec la statistique Samples (Échantillons) dans CloudWatch. En règle générale, lorsque vous examinez ces métriques pour la passerelle, recherchez les tendances en matière de faible débit et de faibles IOPS afin de détecter de potentiels goulots d'étranglement liés aux disques.

Surveillez la métrique IOWaitPercent dans CloudWatch, qui indique le pourcentage de temps pendant lequel le processeur attend une réponse du disque local. En général, une valeur supérieure à 10 % indique des goulots d’étranglement au niveau des disques sous-jacents. Cela peut être dû à des disques plus lents. Dans ce cas, ajoutez des disques pour fournir davantage d'IOPS disponibles à la passerelle.

Remarque : pour les passerelles basées sur Amazon Elastic Compute Cloud (Amazon EC2), le débit Amazon Elastic Block Store (Amazon EBS) de l'instance peut aussi être un facteur de limitation. Vérifiez que le processeur et la RAM de la machine virtuelle hôte de votre passerelle ou de l'instance Amazon EC2 prennent en charge le débit de votre passerelle vers AWS. Par exemple, chaque type d'instance EC2 a un débit de base différent. Si le débit en rafale est épuisé, alors l'instance utilise son débit de base, ce qui peut limiter le débit de chargement vers AWS. Si votre passerelle est hébergée sur une instance Amazon EC2, vérifiez la métrique NetworkOut de l'instance. Si la métrique NetworkOut se trouve au débit de base pendant votre test, envisagez alors de changer l'instance en un type d'instance plus volumineux.


Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?