Aumento del rendimiento con Amazon SES - Amazon Simple Email Service

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Aumento del rendimiento con Amazon SES

Al enviar correos electrónicos, puede llamar a Amazon SES con la frecuencia que permita su velocidad máxima de envío. (Para obtener más información sobre el ratio máximo de envío, consulte Administración de sus límites de envío de Amazon SES). Sin embargo, cada llamada a Amazon SES tarda tiempo en completarse.

Si realiza varias llamadas a Amazon SES utilizando la API de Amazon SES o la interfaz de SMTP, es posible que desee poner en práctica los siguientes consejos para mejorar el rendimiento:

  • Mida el rendimiento actual para identificar cuellos de botella: una posible prueba de rendimiento implica el envío de varios correos electrónicos de prueba lo más rápidamente posible dentro de un bucle de código en su aplicación. Mida la latencia de ida y vuelta de cada solicitud SendEmail. A continuación, lance gradualmente instancias adicionales de la aplicación en la misma máquina y analice el impacto en la latencia de red. Es posible que también desee ejecutar esta prueba en varias máquinas y en distintas redes para ayudar a identificar los posibles cuellos de botella en los recursos de las máquinas o los cuellos de botella de red que puedan existir.

  • (Solo API) Plantéese utilizar conexiones HTTP persistentes: en lugar de incurrir en los costos que supone establecer una nueva conexión HTTP independiente para cada solicitud de la API, utilice las conexiones HTTP persistentes. Es decir, vuelva a utilizar la misma conexión HTTP para varias solicitudes de la API.

  • Considere la posibilidad de utilizar varios subprocesos: cuando una aplicación utiliza un único hilo, el código de la aplicación llama a la API de Amazon SES y, a continuación, espera de forma sincrónica una respuesta de la API. El envío de correos electrónicos suele ser una operación vinculada a E/S y realizar el trabajo desde varios subprocesos ofrece un mejor rendimiento. Puede enviar de forma simultánea utilizando tantos subprocesos de ejecución como desee.

  • Considere la posibilidad de utilizar varios procesos: el uso de varios procesos puede contribuir a aumentar el rendimiento, ya que tendrá más conexiones activas simultáneas para Amazon SES. Por ejemplo, puede segmentar sus correos electrónicos previstos en varios buckets y, a continuación, ejecutar varias instancias de su script de envío de correo electrónico simultáneamente.

  • Plantéese la posibilidad de utilizar un relé de correo local: su aplicación puede transmitir mensajes rápidamente a su servidor de correo local, lo que puede contribuir a almacenar los mensajes en el búfer y a transmitirlos de forma asíncrona a Amazon SES. Algunos servidores de correo admiten la simultaneidad de entrega, lo que significa que, aunque la aplicación esté generando correos electrónicos para el servidor de correo en un solo subproceso, el servidor de correo utilizará varios subprocesos al enviarlos a Amazon SES. Para obtener más información, consulte Integración de Amazon SES con su servidor de correo electrónico existente.

  • Plantéese alojar su aplicación más cerca del punto de enlace de la API de Amazon SES: es posible que desee plantearse el alojamiento en un centro de datos próximo al punto de enlace de la API de Amazon SES o una instancia de Amazon EC2 en la misma región de AWS que el punto de enlace de la API de Amazon SES. Esto puede ayudar a reducir la latencia de red entre su aplicación y Amazon SES y mejorar el rendimiento. Para ver una lista de las regiones donde Amazon SES está disponible, consulte Amazon Simple Email Service (Amazon SES) en la Referencia general de AWS.

  • Plantéese la posibilidad de utilizar varias máquinas: en función de la configuración en su equipo anfitrión, es posible que haya un límite en el número de conexiones HTTP simultáneas a una única dirección IP, que podría limitar los beneficios del paralelismo, una vez se supera un determinado número de conexiones simultáneas en una única máquina. Si se trata de un cuello de botella, es posible que desee realizar solicitudes de Amazon SES simultáneas utilizando varias máquinas.

  • Plantéese la posibilidad de utilizar la API de consulta de Amazon SES en lugar del punto de enlace de SMTP: el uso de la API de consulta de Amazon SES le permite enviar la solicitud de envío de correo electrónico a través de una única llamada de red, mientras que interactuar con el punto de enlace de SMTP implica una conversación de SMTP que consta de varias solicitudes de red (por ejemplo, EHLO, MAIL FROM, RCPT TO, DATA, QUIT). Para obtener más información acerca de la API de consulta de Amazon SES, consulte Uso de la API de Amazon SES para enviar correo electrónico.

  • Utilice el simulador de buzón de correo de Amazon SES para probar su rendimiento máximo: para probar cualquier cambio que pueda implementar, puede utilizar el simulador de buzón de correo. El simulador de bandeja de correo puede ayudarle a determinar el rendimiento máximo del sistema sin gastar su cuota de envío diaria. Para obtener información sobre el simulador de bandeja de correo, consulte Uso del simulador de buzón de correo de forma manual.

Si va a acceder a Amazon SES a través de su interfaz de SMTP, consulte Problemas de SMTP de Amazon SES para ver problemas específicos relacionados con SMTP que puedan afectar al rendimiento.