
Llevamos algunos años utilizando los servicios de AWS en la región de Virginia del Norte. Como la mayoría de nuestros clientes están en Asia, queríamos trasladar nuestros servidores a la región de Singapur para reducir la latencia. Trasladamos nuestros servidores EC2 y RDS a Singapur y el resultado fue una menor latencia. Sin embargo, el punto final de SES seguía siendo Virginia del Norte (ya que no hay ningún punto final en Singapur). Una vez que hicimos esto, notamos que el tiempo necesario para enviar los correos electrónicos de nuestro boletín se redujo drásticamente (de 12000 correos electrónicos/hora cuando EC2/RDS estaba en Virginia del Norte a 2000 correos electrónicos/hora cuando EC2/RDS se trasladó a Singapur).
1) ¿Se espera esta disminución en la velocidad de envío de correo electrónico si el punto final de SES está en Virginia del Norte y EC2/RDS está en Singapur?
2) En caso afirmativo, ¿existe alguna solución mediante la cual podamos seguir teniendo EC2/RDS en Singapur y seguir enviando nuestros correos electrónicos a un ritmo rápido?
Cualquier ayuda sería muy apreciada.
Háganos saber si necesita más información de nuestra parte.
Respuesta1
Es bastante plausible que el rendimiento reducido en el envío de correo electrónico pueda atribuirse a un aumento en la latencia. Calculando los números al revés, si en cambio nos fijamos en la cantidad de tiempo para enviar 1 correo electrónico:
3600 segundos/2000 correos electrónicos = 1,8 segundos/correo electrónico
3600 segundos / 12000 correos electrónicos = 0,3 segundos/correo electrónico
Es probable que gran parte del tiempo necesario para enviar el correo electrónico se deba a viajes de ida y vuelta entre su instancia EC2 y SES. SMTP en particular es bastante comunicativo y requiere varios viajes de ida y vuelta para entregar un mensaje.
Hay algunas formas en las que podrías aumentar esta tasa:
- Multiproceso de su proceso de envío de correo electrónico para que se envíen varios correos electrónicos a la vez. Esto mitigará los tiempos de transacción más altos.
- Ejecute una instancia en Virginia dedicada a enviar estos correos electrónicos. Simplemente envíele una lista de direcciones en una transferencia masiva y déjelo funcionar.
- Investigue el uso de las API de SES en lugar de SMTP; pueden permitirle enviar correos electrónicos a muchos usuarios a la vez y al mismo tiempo recibir los sobres adecuados en todos los mensajes.