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
