|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Valentin Nechayev 2:5020/400 23 Jun 2002 11:54:52 To : Vlad Akulinsky Subject : Re: sendmail -------------------------------------------------------------------------------- >>> Vlad Akulinsky wrote: >>>>> Что покрутить в сабже, чтобы он все принятые письма не релеил >>>>> сразу, а скажем брал штук 10, а остальные складывал в очередь и >>>>> отправлял по мере освобождения. А то я ему кидаю штук 100, он >>>>> пытается отправить одновременно все и забивает канал. DY>>>> Посмотри на параметр confMAX_DAEMON_CHILDREN VA>>> Как я понял, это влияет на количество входящих соединений. VN>> Hет. В более ранних чем 8.12 это в сумме. VA> Странно, но когда у меня было DeliveryMode=b он создавал исходящих VA> соединений гораздо больше чем maxdaemonchildren. Правильно. При background они форкаются бесконтрольно. Контроль делается только через измерение LA хоста. Там контроль на основании размера письма, приоритета, количества получателей и параметра QueueLA конфига. Когда мне это надо было отрезать, пришлось вешать патч в код, чтобы использовались ограничения для таких фоновых доставщиков - через пул файловых локов. Параметр же MaxDaemonChildren (в mc'шке - confMAX_DAEMON_CHILDREN) действует в версиях до 8.12 на всех потомков демона в сумме - smtp получателей и периодических разгребальщиков очереди. В 8.12 они этот свой застарелый маразм начали исправлять (хотя нормально сделают только года через 3, не раньше) - разделили ограничения для этих двух групп. Hо на те процессы, которые возникают для фоновой доставки при DeliveryMode=background - 1) из smtp получателей, 2) из разгребальщиков очереди при редко используемом ForkEachJob=true, 3) из командной строки - на эти процессы эти ограничения не действуют до сих пор. DeliveryMode=queue тем и хорошо для целей ограничить, что оно дает возможность простыми средствами действительно ограничивать плотность работы, а не иметь иллюзорный механизм с реакцией в несколько минут. VA>>> Мне же нужно VA>>> уменьшить количество исходящих. VN>> Делаешь два демона, запуская их так: VN>> sendmail -bd -odq -OPidFile=/var/run/sendmail.daemon.pid VN>> sendmail -q5m -OMaxDaemonChildren=10 -oYfalse \ VN>> -OPidFile=/var/run/sendmail.qrunner.pid VN>> -odq первому дает не релеить сразу. Ограничение второму дает VN>> ограничение количества исходящих одновременно. Это включая локальные VN>> доставки. VA> В если просто sendmail -bd -odq -q5m ? Тогда (если это не 8.12, у него регулировка раздельная) получишь плохую управляемость. Hапример, если у тебя всего 10 в сумме, то при 5 активных smtp приемниках ты получишь только 5 доставляльщиков, а если у тебя уже будут все 10 доставляльщиков - то закроется прием по smtp. Hе думаю, что это понравится твоим юзерам. Кстати, вторую команду лучше переделать так: sendmail -q10s -OMinQueueAge=5m -OMaxDaemonChildren=10 -oYfalse \ -OPidFile=/var/run/sendmail.qrunner.pid - это даст оперативную реакцию на свежезапощенные письма, они будут подниматься раз в 10 секунд (если не все разгребальщики заняты), а перед повторным запуском будет не менее 5 минут. А еще полезно запустить к этому sendmail -q10s -PidFile=/var/run/sendmail.qrunner.local.pid -qR@<твой_домен> оно будет быстро доставлять локальную почту не дожидаясь завершения долготянущихся доставок в мир. А если хочешь избавиться от всей этой дурной мутотени и получить более нормальную конфигурацию - вариантов 2: 1. Поставить postfix. В нем все это сделано красиво и аккуратно. 2. Поставить sendmail 8.12.2 или более поздний, сконфигурить две очереди - на локальную почту и на удаленную, ограничить конфигом количество доставщиков во второй очереди тем же 10, написать рулесет queuegroup который разделяет письма между очередями. Примерно так: Qlocal, P=/var/spool/mqueue/local, r=20, I=10s Qremote, P=/var/spool/mqueue/remote, r=10, I=1m Squeuegroup R$* $: $>3 R$*<@$=w.> $@ $#local R$* $@ $#remote Все это, естественно, при тех же DeliveryMode=queue и MinQueueAge=5m. /netch --- ifmail v.2.15dev5 * Origin: Dark side of coredump (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/736899cd9f9e.html, оценка из 5, голосов 10
|