-3

We have been using AWS services in the North Virginia region for some years now. As most of our customers are in Asia, we wanted to move our servers to the Singapore region for lower latency. We moved our EC2 and RDS servers to Singapore and it resulted in lower latency. However, SES endpoint was still North Virginia (as there is no endpoint in Singapore). Once we did this, we noticed that the time taken to send our newsletter emails reduced drastically (from 12000 emails/hour when EC2/RDS were on North Virginia to 2000 emails/hour when EC2/RDS were moved to Singapore).

1) Is this decrease in email sending speed expected if SES endpoint is North Virginia and EC2/RDS are in Singapore?

2) If yes, is there any solution by which we can continue to have EC2/RDS in Singapore and still send our emails at a fast rate?

Any help would be much appreciated.

Please let us know if you require any more information from our end.

Ankur Jain
  • 17
  • 5

1 Answers1

3

It's quite plausible that the reduced throughput in your e-mail sending can be attributed to an increase in latency. Working your numbers backwards, if we look instead at the amount of time to send 1 e-mail:

3600 seconds / 2000 emails = 1.8 seconds/email

3600 seconds / 12000 emails = 0.3 seconds/email

A lot of the time in sending the e-mail is likely attributable to round-trips between your EC2 instance and SES. SMTP in particular is quite chatty requiring several round-trips to deliver a message.

There are a few of ways you might be able to get this rate up:

  • Multi-thread your e-mail sending process so that several e-mails are sent at a time. This will mitigate the higher transaction times.
  • Run an instance in Virginia dedicated to sending out these e-mails. Just send it an address list in a bulk transfer and let it work.
  • Investigate using the SES APIs rather than SMTP, they may permit you to submit e-mails to many users at once while still getting appropriate envelopes on all messages.
Per von Zweigbergk
  • 2,615
  • 2
  • 17
  • 27