
Мы уже несколько лет пользуемся услугами AWS в регионе Северная Вирджиния. Поскольку большинство наших клиентов находятся в Азии, мы хотели переместить наши серверы в регион Сингапур для снижения задержки. Мы переместили наши серверы EC2 и RDS в Сингапур, и это привело к снижению задержки. Однако конечной точкой SES по-прежнему была Северная Вирджиния (поскольку в Сингапуре конечной точки нет). Как только мы это сделали, мы заметили, что время, необходимое для отправки наших информационных писем, резко сократилось (с 12000 писем в час, когда EC2/RDS находились в Северной Вирджинии, до 2000 писем в час, когда EC2/RDS были перемещены в Сингапур).
1) Ожидается ли снижение скорости отправки электронной почты, если конечная точка SES находится в Северной Вирджинии, а EC2/RDS — в Сингапуре?
2) Если да, есть ли решение, с помощью которого мы сможем продолжать использовать EC2/RDS в Сингапуре и при этом отправлять наши электронные письма с высокой скоростью?
Любая помощь приветствуется.
Пожалуйста, дайте нам знать, если вам потребуется дополнительная информация с нашей стороны.
решение1
Вполне вероятно, что снижение пропускной способности при отправке электронной почты можно объяснить увеличением задержки. Если вместо этого посмотреть на количество времени, необходимое для отправки одного электронного письма, то:
3600 секунд / 2000 писем = 1,8 секунды/письмо
3600 секунд / 12000 писем = 0,3 секунды/письмо
Большая часть времени отправки электронной почты, вероятно, связана с круговыми передачами между вашим экземпляром EC2 и SES. SMTP в частности довольно болтливый, требующий нескольких круговых передач для доставки сообщения.
Есть несколько способов повысить эту ставку:
- Распределите ваш процесс отправки электронной почты по потокам, чтобы несколько писем отправлялись одновременно. Это позволит сократить более высокие временные затраты на транзакции.
- Запустите экземпляр в Вирджинии, предназначенный для отправки этих писем. Просто отправьте ему список адресов в пакетном режиме и дайте ему поработать.
- Рассмотрите возможность использования API SES вместо SMTP: они могут позволить вам отправлять электронные письма многим пользователям одновременно, при этом все сообщения будут содержать соответствующие конверты.