Comment optimiser les performances lorsque je charge des fichiers volumineux vers Amazon S3 ?

Date de la dernière mise à jour : 17/12/2019

Je souhaite charger des fichiers volumineux 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 Amazon S3, il est conseillé d’utiliser les chargements partitionnés. Si vous utilisez l’interface de ligne de commande AWS (CLI AWS), toutes les commandes aws s3 de haut niveau effectuent 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 demandes simultanées souhaitées.
  • max_queue_size : cette valeur définit le nombre maximal de tâches dans la file d’attente.
  • multipart_threshold : cette valeur définit le seuil de taille pour les chargements partitionnés de fichiers individuels.
  • 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.
    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 Amazon S3.

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 va améliorer les vitesses de transfert pour votre cas d’utilisation, consultez l’outil Amazon S3 Transfer Acceleration Speed Comparison .

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


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

Cette page peut-elle être améliorée ?


Vous avez besoin d’aide ?