Hello Vasily,
Вообще, 72Гб для 2-3 млн писем в день это очень много. Мне удавалось достичь
такого объема и на 8Гб.
Вот мой рецепт
Главное - помещаем спул и логи на ramdisk!
~~~~~~~~~~~~~~~~~~~~~~~BEGIN exim.conf
# уменьшаем кол-во логов
no_message_logs
write_rejectlog=false
# разбиваем письма в спуле по подпапкам
split_spool_directory = true
# не делать немедленной доставки. это обязательно для такого большого объема
писем
queue_only
queue_run_max = 200
# exim делает ident запрос на локально сгенеренные письма. выключаем.
rfc1413_hosts =
...
remote_smtp:
...
# plain text smtp быстрее чем tls
hosts_avoid_tls=*
# меньше таймаут - быстрее обрабатается очередь
connect_timeout = 10s
...
begin retry
# макс. время жизни письма в очереди 24h
* * F,2h,15m; G,24h,1h,1.5;
~~~~~~~~~~~~~~~~~~~~~~~END exim.conf
И вот такой скрипт в cron, ежеминутно.
Используя встроенный в Exim queue runner я не смог достичь достаточное кол-во
его экземпляров, равное queue_run_max, а нам надо _очень_ много экземпляров.
Переменную LIMIT делаем соразмерно имеющейся памяти, одна копия exim жрет около
30Mb.
~~~~~~~~~~~~~~~~~~~~~~~ BEGIN script
#!/bin/bash
PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
LIMIT=100
COUNT=`pgrep exim | wc -l`
echo $COUNT exims are running
if [ "$COUNT" -lt "$LIMIT" ]
then
echo starting new 10
for i in `seq 10`; do exim -q & done
else
echo doing nothing
fi
~~~~~~~~~~~~~~~~~~~~~~~ END script
On Fri, 26 Jul 2013 12:59:56 +0400 "Vasily S. Kostroma" <[email protected]> wrote:
> Моё почтение, коллеги.
> Вот уж давно бьюсь, никак не получается найти консенсуса..
>
> Суть. Имеется выделенный сервантик, xeon с 72-мя ГБ на борту.
> Используется для отправки регулярных рассылок и уведомлений различного
> типа. Ежедневно через него проходит порядка двух-трёх миллионов писем
> общим объёмом в 30-40Гб. Около половины писем генерируются скриптами на
> самом сервере, остальная половина приходит с других локальных серверов
> по SMTP. Спул находится в рамдиске (не зря же столько памяти).
>
> Задача - сделать так, что бы сервер был настроен на максимальную
> отправку писем. Актуальность - сутки (если письмо в течении суток не
> ушло, то можно удалять). Был бы премного благодарен за помощь.
>
> И ещё одно. exim -bpc показывает около пяти тысяч писем в очереди, но в
> папке спула около трёхсот тысяч файлов. Откуда, куда, как? Спул забивается..
>
> Спасибо заранее.
_______________________________________________
Exim-users mailing list
[email protected]
http://mailground.net/mailman/listinfo/exim-users