Comment optimiser les performances lorsque je charge des fichiers volumineux vers Single Storage Service (Amazon S3) ?

Lecture de 3 minute(s)
0

Je souhaite charger des fichiers volumineux (1 Go ou plus) vers Amazon Simple Storage Service (Amazon S3). Comment puis-je optimiser les performances de ce chargement ?

Brève description

Lorsque vous chargez des fichiers volumineux vers Single Storage Service (Amazon S3), il est conseillé d'utiliser les chargements partitionnés. Si vous utilisez AWS Command Line Interface (AWS CLI), toutes les commandes aws s3 high level effectuent alors automatiquement un chargement partitionné lorsque l'objet est volumineux. Ces commandes de haut niveau incluent aws s3 cp et aws s3 sync.

Prenez en compte les options suivantes pour améliorer les performances des chargements et optimiser les chargements partitionnés :

  • Si vous utilisez l'interface de ligne de commande AWS, personnalisez les configurations de chargement.
  • Activer Amazon S3 Transfer Acceleration

Solution

Si vous utilisez l'interface de ligne de commande AWS, personnalisez les configurations de chargement.

Vous pouvez personnaliser les configurations de l’interface de ligne de commande AWS pour Amazon S3 suivantes :

  • max_concurrent_requests : cette valeur définit le nombre de demandes pouvant être envoyées simultanément à Amazon S3. La valeur par défaut est 10.
    Remarque : l’exécution d’un plus grand nombre de threads consomme plus de ressources sur votre machine. Vous devez vous assurer que votre machine dispose de suffisamment de ressources pour prendre en charge le nombre maximal de requêtes simultanées souhaitées.
  • max_queue_size : cette valeur définit le nombre maximal de tâches dans la file d’attente. La valeur par défaut est 1 000.
  • multipart_threshold : cette valeur définit le seuil de taille pour les chargements partitionnés de fichiers individuels. La valeur par défaut est 8 Mo.
  • multipart_chunksize : cette valeur définit la taille de chaque partie que l'interface de ligne de commande AWS charge dans un chargement partitionné pour un fichier individuel. Ce paramètre vous permet de diviser un fichier plus volumineux (par exemple: 300 Mo) en plusieurs parties plus petites, ce qui permet des vitesses de chargement plus rapides. La valeur par défaut est 8 Mo.
    Remarque : pour un chargement partitionné, un seul fichier doit être chargé en maximum 10 000 parties distinctes. Vous devez vous assurer que la taille des parties que vous définissez équilibre la taille du fichier total et le nombre de parties.
  • max_bandwidth : cette valeur définit la bande passante maximale pour le chargement des données vers Single Storage Service (Amazon S3). Il n'y a aucune valeur par défaut.

Remarque : si vous recevez des erreurs lors de l'exécution des commandes depuis l'interface de ligne de commande AWS, assurez-vous que vous utilisez la version AWS CLI la plus récente.

Activer Amazon S3 Transfer Acceleration

Amazon S3 Transfer Acceleration peut permettre des transferts rapides et sécurisés sur de longues distances entre votre client et Amazon S3. Transfer Acceleration utilise les emplacements périphériques mondialement distribués d'Amazon CloudFront.

Transfer Acceleration entraîne des frais supplémentaires. Veillez donc à prendre connaissance de la tarification. Pour déterminer si Transfer Acceleration pourrait améliorer les vitesses de transfert pour votre cas d'utilisation, consultez l'outil de comparaison Amazon S3 Transfer Acceleration Speed Comparison.

Remarque : Transfer Acceleration ne prend pas en charge les copies entre régions à l'aide de CopyObject.


AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 2 ans