URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 91135
[ Назад ]

Исходное сообщение
"Различные spool-папки для exim4"

Отправлено V.Shturman , 11-Мрт-11 15:16 
Доброго времени суток, господа.
Позволю себе украсть пару минут Вашего времени, нужен грамотный совет.

Суть.
Имеется сервер на Ubuntu Server, на котором установлен и настроен exim4 для отправки почты.
Сервер используется для рассылки подписчикам новостей, уведомлений и т.д. Никакого спама или
нежелательных иных сообщений.
Отправка рассылки происходит обычным php скриптом, который использует обычную функцию mail().

Так как объём рассылки достаточно внушительный (около полумиллиона писем в сутки, около 30Гб в сумме), для максимальной скорости работы в качестве spool папки для exim4 используется 6-ти гигабайтный рамдиск (использование дискового массива в десяток раз тормозит процесс). Пока всё замечательно и хорошо, скорость отправки писем и скорость наполнения спула почти равны, переполнения не происходит. Но как только возникает проблема (например, mail.ru блокирует приём писем хотя бы на час), сразу же переполняется спул, из-за чего система вываливается в своп, из-за чего ещё бОльшие тормоза и в итоге "почтовый коллапс".

Внимательно изучив документацию к exim4 нашёл достаточно подходящую функцию - а именно fallback. То есть при такой настройке exim будет только один (!) раз пытаться отправить письмо. И если отправка не получилась, то письмо будет отправлено на relay для отложенной доставки. Такой вариант мне несомненно нравится, так как это должно спасти рамдиск от переполнения, а также позволит увеличить срок попыток повторной отправки (сейчас менее суток, что бы полностью очистить спул перед новой рассылкой).

Но если бы не было НО, я бы не писал эту тему.
Exim4 не позволяет разделять спул для различных писем, посему в качестве relay должен использоваться ещё один МТА. Возможно это ещё одна копия exim, возможно иной MTA. Возможно ещё какие-то варианты?

Внимание, вопрос :)
1. Есть ли возможность безболезненно запустить ещё одну копию exim с иным конфигом? То есть уже установленный будет использоваться для локальной доставки и слушать локалхост (спул в рамдиске, включен фоллбэк), а второй будет слушать интерфейсный порт (стандартный порт на интерфейсе, спул на массиве) и использоваться для отложенной (повторов) доставки.
2. Есть ли иные варианты и предположения, как реализовать рассылку с максимальной скоростью и без коллапсов?

Буду рад всем идеям и предложениям. Спасибо заранее.


Содержание

Сообщения в этом обсуждении
"Различные spool-папки для exim4"
Отправлено V.Shturman , 14-Мрт-11 16:21 
Неужели нет никаких идей?...

"Различные spool-папки для exim4"
Отправлено McLeod095 , 14-Мрт-11 19:16 
> Неужели нет никаких идей?...

Идей нет, хотя запустить второй exim, не проблема, все зависит от дистра. Сам юзаю exim т.к. нравится, но знакомый который справляется с такими нагрузками после использования exim перешел на postfix, как-то он там по другому шлет делает такие массовые рассылки. В качестве альтернативы можно посмотреть.


"Различные spool-папки для exim4"
Отправлено Fes , 15-Мрт-11 18:34 
> Неужели нет никаких идей?...

обратитесь в список рассылки на сайте
http://mailground.net/mailman/listinfo