Hello Vasily,


On Sat, 27 Jul 2013 09:22:10 +0400 "Vasily S. Kostroma" <[email protected]> wrote:

> Спасибо, Павел!
> Настройки практически мои, кстати. rfc1413 правда не отключал ранее.

зря, я однажды так пофиксил 5 секундый таймаут
 
> Ребят, а из-за чего при begin retry максимум в 20 часов спул всё равно 
> забивается всякой фигнёй? 

У меня бывает то же самое. Может, когда-то exim был прибит 9м сигналом и не 
смог удалить некоторые файлы.
Как правило, один из -H или -D файлов отсутствует.

>При этом, как я писал, в очереди показывает 
> буквально пару тысяч писем, а в спуле несколько сотен тысяч файлов. так 
> как это рамдиск, то забивается и через какое-то время уходит в коллапс.
> 

Самописный скрипт решит этот вопрос. 

> Спасибо заранее.
> 
> 7/26/2013 2:34 PM, Pavel Piatruk пишет:
> > 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
> >
> 


_______________________________________________
Exim-users mailing list
[email protected]
http://mailground.net/mailman/listinfo/exim-users

Ответить