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 tasa de envío máxima. (Para obtener más información sobre la tasa de envío máxima, consulte Administración de su Amazon SES envío de cuotas.) Sin embargo, cada llamada a Amazon SES tarda tiempo en completar.

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 la 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 asumir la sobrecarga 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 subproceso, el código de la aplicación llama a la API de Amazon SES y, a continuación, espera de forma síncrona 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 incluso 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 enviar 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 la 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 en una instancia Amazon EC2 de 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 obtener una lista de las regiones en las que Amazon SES está disponible, consulte Amazon Simple Email Service (Amazon SES) en la AWS General Reference.

  • Plantéese la posibilidad de utilizar varias máquinas — En función de la configuración de su equipo host, es posible que haya un límite en el número de conexiones HTTP simultáneas a una única dirección IP, lo que podría limitar los beneficios del paralelismo una vez que 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 consultas de Amazon SES en lugar del punto de enlace de SMTP — El uso de la API de consultas 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 consultas de Amazon SES consulte Uso de la API de Amazon SES para enviar correos electrónicos.

  • Utilice el simulador de bandeja de correo de Amazon SES para probar el rendimiento máximo — Para probar cualquier cambio que pueda implementar, puede utilizar el simulador de bandeja 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 Probar el envío de correo electrónico en Amazon SES.

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