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

Dernière mise à jour : 18/12/2020

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 Amazon S3, il est conseillé d'utiliser les chargements partitionnés. Si vous utilisez l'interface de ligne de commande AWS (AWS CLI), toutes les commandes aws s3 high level effectuent automatiquement un chargement partitionné lorsque l'objet est volumineux. Ces commandes high level 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

Ré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.
  • 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.

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 va améliorer les vitesses de transfert dans votre cas, 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.</p


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


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