Accroissement du débit avec Amazon SES - Amazon Simple Email Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Accroissement du débit avec Amazon SES

Lorsque vous envoyez des e-mails, vous pouvez appeler Amazon SES aussi souvent que votre taux d'envoi maximum vous l'autorise. (Pour en savoir plus sur votre taux d'envoi maximum, consultez Gestion de vos limites d'envoi Amazon SES.) Cependant, chaque appel à Amazon SES demande un certain temps avant d'aboutir.

Si vous formulez plusieurs appels à Amazon SES à partir de l'API Amazon SES ou de l'interface SMTP, tenez compte des conseils suivants pour améliorer votre débit :

  • Mesurez vos performances actuelles pour identifier les goulots d'étranglement – Pour tester vos performances, vous pouvez envoyer plusieurs e-mails de test le plus rapidement possible dans une boucle de code au sein de votre application. Mesurez la latence du cycle aller-retour de chaque demande SendEmail. Lancez ensuite de façon incrémentielle des instances supplémentaires de l'application sur la même machine, puis observez-en l'impact sur la latence du réseau. Vous pouvez également exécuter ce test sur plusieurs machines et sur différents réseaux pour mieux repérer les éventuels goulots d'étranglement au niveau des ressources des machines ou des réseaux.

  • (API uniquement) Envisagez d'utiliser des connexions HTTP persistantes – Au lieu de vous contraindre à mettre en place une nouvelle connexion HTTP distincte pour chaque demande API, utilisez des connexions HTTP persistantes. En somme, cela consiste à réutiliser une même connexion pour plusieurs demandes d'API.

  • Envisagez d'utiliser plusieurs threads – Lorsqu'une application utilise un seul thread, le code de l'application appelle l'API Amazon SES et attend de façon synchrone une réponse de l'API. L'envoi d'e-mails étant généralement une opération liée aux I/O, le recours à plusieurs threads offre un meilleur débit. Vous pouvez effectuer un envoi simultané en utilisant autant de threads d'exécution que vous le souhaitez.

  • Envisagez d'utiliser plusieurs processus – L'utilisation de plusieurs processus peut vous aider à accroître votre débit, car vous aurez davantage de connexions actives simultanées à Amazon SES. Par exemple, vous pouvez segmenter les e-mails prévus en plusieurs compartiments, puis exécuter simultanément plusieurs instances de votre script d'envoi d'e-mails.

  • Envisagez d'utiliser un relais de messagerie local – Votre application peut rapidement transmettre les messages à votre serveur de messagerie local, ce qui facilite leur mise en mémoire tampon et leur transmission asynchrone à Amazon SES. Certains serveurs de messagerie prennent en charge les remises simultanées, ce qui signifie que même si votre application génère des e-mails à destination du serveur de messagerie dans une opération à thread unique, le serveur de messagerie utilise plusieurs threads lors de l'envoi vers Amazon SES. Pour de plus amples informations, veuillez consulter Intégrer Amazon SES à votre serveur de messagerie existant.

  • Envisagez d'héberger votre application plus près du point de terminaison de l'API Amazon SES – Il se peut que vous envisagiez d'héberger votre application dans un centre de données proche du point de terminaison de l'API Amazon SES ou sur une instance EC2 Amazon dans la même région AWS que le point de terminaison de l'API Amazon SES. Cela peut contribuer à diminuer la latence réseau entre votre application et Amazon SES, et à améliorer le débit. Pour connaître la liste des régions dans lesquelles Amazon SES est disponible, consultez Amazon Simple Email Service (Amazon SES) dans le document Références générales AWS.

  • Envisagez d'utiliser plusieurs machines – Selon la configuration système de votre machine hôte, vous pouvez être limité par le nombre de connexions HTTP simultanées vers une seule adresse IP, ce qui peut limiter les avantages du parallélisme dès lors que vous dépassez un certain nombre de connexions simultanées sur une même machine. S'il s'agit d'un goulot d'étranglement, vous pouvez envisager de formuler des demandes Amazon SES simultanées en utilisant plusieurs machines.

  • Envisagez d'utiliser l'API de requête à la place du point de terminaison SMTP – En utilisant l'API de requête Amazon SES, vous pouvez soumettre la demande d'envoi d'e-mails dans un seul et même appel réseau, alors que l'interfaçage avec le point de terminaison SMTP implique une conversation SMTP qui consiste en plusieurs demandes réseau (par exemple, EHLO, MAIL FROM, RCPT TO, DATA, QUIT). Pour en savoir plus sur l'API de requête Amazon SES, consultez Utiliser Amazon SES API pour envoyer des e-mails.

  • Utilisez le simulateur de boîte aux lettres (mailbox) Amazon SES pour tester votre débit maximum – Pour tester les modifications que vous souhaitez éventuellement mettre en œuvre, vous pouvez utiliser le simulateur de boîte aux lettres (mailbox). Il peut en effet vous aider à déterminer le débit maximal de votre système sans épuiser votre quota d'envoi quotidien. Pour obtenir des informations sur le simulateur de boîte aux lettres e-mail (mailbox), consultez Utilisation manuelle du simulateur de boîte aux lettres.

Si vous accédez à Amazon SES par le biais de son interface SMTP, consultez Problèmes SMTP Amazon SES pour prendre connaissance des problèmes spécifiques propres à SMTP qui peuvent avoir des répercussions sur le débit.