Страница 1 из 1
Sendmail - Mail Filter долго думает.
Добавлено: 2011-08-08 12:02:22
kharkov_max
Добрый день.
Как mail relay используется sendmail.
Прикрутил к нему smfsav, clamav и spamassasin
Код: Выделить всё
MAIL_FILTER(`smfsav', `S=unix:/var/run/smfsav/smfsav.sock, T=S:30s;R:4m')dnl
MAIL_FILTER(`clmilter', `S=local:/var/run/clamav/clmilter.sock, F=,T=S:4m;R:4m')dnl
MAIL_FILTER(`spamassassin', `S=local:/var/run/spamass-milter.sock, F=,T=C:15m;S:4m;R:4m;E:10m')dnl
define(`confINPUT_MAIL_FILTERS', `smfsav,spamassassin,clmilter')dnl
Обратил внимание на то что письмо в локальный ящик - через sendmail доставляется около 4 мин - что не приемлимо.
Скороть доставки не зависит от отправителя и одинакова как из инета, так и от localhost.
Начал разбираться и выяснил, что если сделать так:
Код: Выделить всё
MAIL_FILTER(`smfsav', `S=unix:/var/run/smfsav/smfsav.sock, T=S:30s;R:4m')dnl
dnl MAIL_FILTER(`clmilter', `S=local:/var/run/clamav/clmilter.sock, F=,T=S:4m;R:4m')dnl
dnl MAIL_FILTER(`spamassassin', `S=local:/var/run/spamass-milter.sock, F=,T=C:15m;S:4m;R:4m;E:10m')dnl
то все достаточно шустро бегает.
Вопрос: Куда смотреть ?
1. В сторону тюнинга sendmail.
2. В стророну настроек clamav и spamassassin.
Если у кого то есть ответ или предположение на какие нить настройки - напишите пожалуйста.
Спасибо.
Re: Sendmail - Mail Filter долго думает.
Добавлено: 2011-08-08 12:34:08
ASY
По-моему, ответ очевиден: ускорять работу clamav и spamassassin. Вообще, оба хорошо процессор грузят, может быть, и железо проапдейтить стоит. Чуть-чуть улучшить ситуацию можно, если заменить все три мильтера на один mailfromd. Каждый процесс приёма письма вызывает запуск всех трёх фильтров, это надёжно, так как каждый процесс сам по себе, но не очень экономно в плане количества процессов/памяти.
Re: Sendmail - Mail Filter долго думает.
Добавлено: 2011-08-08 12:50:50
kharkov_max
ASY писал(а):По-моему, ответ очевиден: ускорять работу clamav и spamassassin. Вообще, оба хорошо процессор грузят, может быть, и железо проапдейтить стоит. Чуть-чуть улучшить ситуацию можно, если заменить все три мильтера на один mailfromd. Каждый процесс приёма письма вызывает запуск всех трёх фильтров, это надёжно, так как каждый процесс сам по себе, но не очень экономно в плане количества процессов/памяти.
В плане железа - все нормально.
Производительности достаточно при приеме писем top не показывает критической загрузки проца и т.д.
Смущает стабильность задержки - 4 мин ...
Исходя из этого и возникли подозрения на конфиги сервисов ...
Re: Sendmail - Mail Filter долго думает.
Добавлено: 2011-08-08 13:37:29
ASY
kharkov_max писал(а):По-моему, ответ очевиден: ускорять работу clamav и spamassassin. Вообще, оба хорошо Смущает стабильность задержки - 4 мин ...
Тут, как раз, всё понятно: "S:4m;R:4m;"
op.me:
S Timeout for sending information from the MTA to a filter.
R Timeout for reading reply from the filter.
Sendmail, очевидно, 4 минуты ждёт, не дожидается и идёт дальше. А почему 4-х минут фильтрам не хватает (каждому по отдельности ? отключение одного из них не спасает, только оба ?), надо разбираться. Если по железу всё нормально, надо смотреть, кто на что в логи ругается.
Re: Sendmail - Mail Filter долго думает.
Добавлено: 2011-08-08 14:19:10
kharkov_max
ASY писал(а):
Sendmail, очевидно, 4 минуты ждёт, не дожидается и идёт дальше. А почему 4-х минут фильтрам не хватает (каждому по отдельности ? отключение одного из них не спасает, только оба ?), надо разбираться. Если по железу всё нормально, надо смотреть, кто на что в логи ругается.
Пробовал по отдельности- картина одинакова 4 мин таймаут.
1. А чего ждет ? Ответа от clamav и т.д ?
2. Где смотреть - почему ждет ? В каких логах ? В логах sendmail вроде чисто ....
Re: Sendmail - Mail Filter долго думает.
Добавлено: 2011-08-08 14:34:52
ASY
kharkov_max писал(а):
1. А чего ждет ? Ответа от clamav и т.д ?
Да.
kharkov_max писал(а):
2. Где смотреть - почему ждет ? В каких логах ? В логах sendmail вроде чисто ....
В логах clamd/clamav-milter и spamassassin вероятно. В логе sendmail должно быть только что-то вроде
Milter (clmilter): timeout before data read, where=mail
Milter (spamassassin): timeout before data read, where=mail
Но это если действительно, sendmail до таймаута ждёт. Можно значение сделать, скажем, 8 минут и убедиться. Или, наоборот, скажем, минуту. И, может быть, надо добавить "define(`confMILTER_LOG_LEVEL',`9')dnl" какой-нибудь.
Re: Sendmail - Mail Filter долго думает.
Добавлено: 2011-08-08 14:55:20
kharkov_max
Ха ... или Хм.. )))
Вот и ответ.
Все ждали spamassasin, процесс /usr/local/etc/rc.d/sa-spamd - не был запущен, но руками стартанул ...
При чем spamassasin-milter - типа работал.
Видимо не запускается при старте системы- нужно смотреть от чего зависит и почему автоматом не стартует...
С запущенным sa-spamd - все летает ...
Буду разбираться чего не стартует при перезагрузке ..
Всем спасибо.
Re: Sendmail - Mail Filter долго думает.
Добавлено: 2011-08-08 15:14:01
ASY
в этом случае должно было летать уже с отключенным spamassassin...
Re: Sendmail - Mail Filter долго думает.
Добавлено: 2011-08-08 15:37:21
kharkov_max
ASY писал(а):в этом случае должно было летать уже с отключенным spamassassin...
Не много сбило с толку Ваше сообщение.
Правильно ли я понимаю как должно работать при моих настройках.
При получении письма Sendmail запускает фильтр spamass-milter, фильтр обращается к spamd и ждет 4 мин, т.к. spamd не запущен.
Собственно в этом и затык ...
Или все должно происходить как-то по другому ?
Re: Sendmail - Mail Filter долго думает.
Добавлено: 2011-08-08 16:01:19
ASY
kharkov_max писал(а):При получении письма Sendmail запускает фильтр spamass-milter, фильтр обращается к spamd и ждет 4 мин, т.к. spamd не запущен.
Именно так. Но я не понял, зачем понадобилось отключать ещё и ClamAV. Исходя из исходного сообщения, можно подумать, что какая-то проблема ещё и с ClamAV. Кстати, с MILTER_LOG_LEVEL 9 в логе sendmail что-то появилось ?
Re: Sendmail - Mail Filter долго думает.
Добавлено: 2011-08-08 16:10:44
kharkov_max
Да - сори не написал.
С clamav все было нормально.
Затык был именно в spamd.
Поправил порядок запуска в стартовых скриптах - все стало автоматом подниматься при перезагрузке.
Вопрос закрыт.
Огромное спасибо за помощь.