Introduction
Vos applications peuvent facilement exécuter des milliers de transactions par seconde lors du chargement et de l'extraction du stockage depuis Amazon S3. Amazon S3 se met automatiquement à l'échelle en fonction des taux de demandes très importants. Par exemple, votre application peut atteindre au moins 3 500 demandes PUT/COPY/POST/DELETE et 5 500 demandes GET/HEAD par seconde par préfixe dans un compartiment. Il n'existe aucune limite au nombre de préfixes dans un compartiment. Vous pouvez augmenter vos performances de lecture et d'écriture en effectuant une mise en parallèle des lectures. Par exemple, si vous créez 10 préfixes dans un compartiment Amazon S3 pour paralléliser les lectures, vous pouvez adapter vos performances de lecture à 55 000 demandes de lecture par seconde.
Certaines applications de lacs de données sur Amazon S3 analysent plusieurs milliards d'objets pour les requêtes qui portent sur des pétaoctets de données. Ces applications de lacs de données atteignent des taux de transfert à instance unique qui optimisent l'utilisation de l'interface réseau pour leur instance Amazon EC2, laquelle peut atteindre jusqu'à 100 Gbits/s sur une seule instance. Ces applications regroupent ensuite le débit de plusieurs instances pour parvenir à plusieurs téraoctets par seconde.
D'autres applications sont sensibles à la latence, comme les applications de messagerie des réseaux sociaux. Ces applications peuvent atteindre des latences régulières pour les petits objets (et des latences FBO pour les objets plus grands) d'approximativement 100 à 200 millisecondes.
Les autres services AWS peuvent aussi contribuer à accélérer les performances pour les différentes architectures d’application. Par exemple, si vous souhaitez des taux de transfert plus élevés sur une connexion HTTP unique ou des latences de millisecondes à un chiffre, utilisez Amazon CloudFront ou Amazon ElastiCache pour la mise en cache avec Amazon S3.
De plus, afin d'obtenir un transport rapide de données sur de longues distances entre un client et un compartiment S3, utilisez Amazon S3 Transfer Acceleration. Transfer Acceleration utilise les emplacements périphériques distribués à l'échelle mondiale dans CloudFront pour accélérer le transport des données sur des distances géographiques.
Si votre charge de travail Amazon S3 utilise le chiffrement côté serveur avec AWS Key Management Service (SSE-KMS), consultez Restrictions AWS KMS dans le Guide du développeur AWS Key Management Service pour en savoir plus sur les débits de demandes pris en charge selon le cas d'utilisation.
Les rubriques suivantes décrivent les instructions et les modèles de conception des bonnes pratiques pour optimiser les performances des applications qui utilisent Amazon S3.
Ces instructions l'emportent sur toute directive antérieure relative à l'optimisation des performances pour Amazon S3. Par exemple, les directives en matière de performances Amazon S3 antérieures recommandaient de randomiser la dénomination des préfixes avec des caractères hachés afin d'optimiser les performances pour les extractions de données fréquentes. Vous n'avez plus besoin de procéder ainsi pour améliorer les performances et vous pouvez utiliser la dénomination séquentielle basée sur la date pour vos préfixes. Reportez-vous aux Instructions sur les performances et aux Modèles de conception des performances pour consulter les informations les plus récentes sur l'optimisation des performances pour Amazon S3.