Оптимизация IIS 6 SMTP для отправки большого количества сообщений электронной почты
В настоящее время я работаю над системой, которая рассылает большое количество ежемесячных информационных бюллетеней подписанным пользователям и клиентам (обратите внимание, это не спам). Мы отправляем эти электронные письма, используя виртуальный SMTP-сервер IIS 6, и по большей части это работает хорошо.
Однако иногда мы должны рассылать 200K + новостных рассылок - в этом случае очередь IIS6 быстро заполняется, и мы не можем переместить их достаточно быстро. Отправка 200К-писем может занять много-много часов, в течение которых сервер использует примерно 2,7 Мб из 3 Мб полосы пропускания, к которой у нас есть доступ.
Я надеялся, что кто-то может предложить несколько советов по оптимизации IIS 6 для подобной ситуации, особенно по некоторым свойствам сервера, таким как "ограничение количества сообщений на соединение" (в настоящее время установлено на 200), "ограничение количества подключений к" (в настоящее время на 1000), и "ограничить количество подключений на домен к" (в настоящее время установлено на 100).
2 ответа
Мой совет. Не.
Отправка бюллетеней с вашего основного почтового сервера может быть ОЧЕНЬ плохой идеей. Вот несколько причин, почему.
- Вы связываете свой почтовый сервер, когда он может отправлять другую почту
- Вы связываете свое сетевое соединение с сервером, вы уже используете 90% вашей фиксированной скорости передачи данных.
- Если кто-то сообщает об этом как о спаме или почтовые провайдеры узнают, что ваш IP-адрес отвечает за большое количество рассылки, которую люди помечают как спам, вы попадете в черный список. Это очень плохо.
- Вы не получаете высокую производительность, потому что ваши серверы виртуализированы. Виртуализация серьезно ограничивает производительность ввода-вывода сервера. Это никогда не будет соответствовать скорости аппаратного обеспечения голого металла.
Рекомендации:
Используйте службу ретрансляции SMTP для отправки массовых писем. Port25.com это хорошо. Mailchimp предлагает программное обеспечение для управления списком рассылки, и даже лучше. Существует API для разработчиков, так что вы можете связать его с вашими существующими сервисами и пользовательскими базами данных.
Mailchimp также даст вам представление о том, что будет хорошо воспринято различными почтовыми клиентами.
Отправка 200К-писем может занять много-много часов, в течение которых сервер использует примерно 2,7 Мб из 3 Мб полосы пропускания, к которой у нас есть доступ.
Хорошо, поехали. Это вполне нормально. Серьезно - что вы ожидаете? У вас 90% использования полосы пропускания, что, я бы сказал, уже очень хорошо - всегда будет какое-то ожидание. Вы можете попытаться отправить больше параллельных сообщений (ограничить количество соединений), но в конце я думаю, что вы уже находитесь в точке изучения.
- Проверьте, не перегружены ли ваши диски.
- Получите больше пропускной способности
Это почти все, что вы можете сделать. Помните, что у вас есть 90% использования полосы пропускания.