Sendmail - Mail Filter долго думает.

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
kharkov_max
капитан
Сообщения: 1859
Зарегистрирован: 2008-10-03 14:56:40

Sendmail - Mail Filter долго думает.

Непрочитанное сообщение kharkov_max » 2011-08-08 12:02:22

Добрый день.

Как 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.

Если у кого то есть ответ или предположение на какие нить настройки - напишите пожалуйста.
Спасибо.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

ASY
мл. сержант
Сообщения: 130
Зарегистрирован: 2011-02-21 12:50:03

Re: Sendmail - Mail Filter долго думает.

Непрочитанное сообщение ASY » 2011-08-08 12:34:08

По-моему, ответ очевиден: ускорять работу clamav и spamassassin. Вообще, оба хорошо процессор грузят, может быть, и железо проапдейтить стоит. Чуть-чуть улучшить ситуацию можно, если заменить все три мильтера на один mailfromd. Каждый процесс приёма письма вызывает запуск всех трёх фильтров, это надёжно, так как каждый процесс сам по себе, но не очень экономно в плане количества процессов/памяти.

Аватара пользователя
kharkov_max
капитан
Сообщения: 1859
Зарегистрирован: 2008-10-03 14:56:40

Re: Sendmail - Mail Filter долго думает.

Непрочитанное сообщение kharkov_max » 2011-08-08 12:50:50

ASY писал(а):По-моему, ответ очевиден: ускорять работу clamav и spamassassin. Вообще, оба хорошо процессор грузят, может быть, и железо проапдейтить стоит. Чуть-чуть улучшить ситуацию можно, если заменить все три мильтера на один mailfromd. Каждый процесс приёма письма вызывает запуск всех трёх фильтров, это надёжно, так как каждый процесс сам по себе, но не очень экономно в плане количества процессов/памяти.
В плане железа - все нормально.
Производительности достаточно при приеме писем top не показывает критической загрузки проца и т.д.

Смущает стабильность задержки - 4 мин ...
Исходя из этого и возникли подозрения на конфиги сервисов ...

ASY
мл. сержант
Сообщения: 130
Зарегистрирован: 2011-02-21 12:50:03

Re: Sendmail - Mail Filter долго думает.

Непрочитанное сообщение ASY » 2011-08-08 13:37:29

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-х минут фильтрам не хватает (каждому по отдельности ? отключение одного из них не спасает, только оба ?), надо разбираться. Если по железу всё нормально, надо смотреть, кто на что в логи ругается.

Аватара пользователя
kharkov_max
капитан
Сообщения: 1859
Зарегистрирован: 2008-10-03 14:56:40

Re: Sendmail - Mail Filter долго думает.

Непрочитанное сообщение kharkov_max » 2011-08-08 14:19:10

ASY писал(а): Sendmail, очевидно, 4 минуты ждёт, не дожидается и идёт дальше. А почему 4-х минут фильтрам не хватает (каждому по отдельности ? отключение одного из них не спасает, только оба ?), надо разбираться. Если по железу всё нормально, надо смотреть, кто на что в логи ругается.
Пробовал по отдельности- картина одинакова 4 мин таймаут.

1. А чего ждет ? Ответа от clamav и т.д ?
2. Где смотреть - почему ждет ? В каких логах ? В логах sendmail вроде чисто ....

ASY
мл. сержант
Сообщения: 130
Зарегистрирован: 2011-02-21 12:50:03

Re: Sendmail - Mail Filter долго думает.

Непрочитанное сообщение ASY » 2011-08-08 14:34:52

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" какой-нибудь.

Аватара пользователя
kharkov_max
капитан
Сообщения: 1859
Зарегистрирован: 2008-10-03 14:56:40

Re: Sendmail - Mail Filter долго думает.

Непрочитанное сообщение kharkov_max » 2011-08-08 14:55:20

Ха ... или Хм.. )))

Вот и ответ.
Все ждали spamassasin, процесс /usr/local/etc/rc.d/sa-spamd - не был запущен, но руками стартанул ...
При чем spamassasin-milter - типа работал.
Видимо не запускается при старте системы- нужно смотреть от чего зависит и почему автоматом не стартует...

С запущенным sa-spamd - все летает ...
Буду разбираться чего не стартует при перезагрузке ..

Всем спасибо.

ASY
мл. сержант
Сообщения: 130
Зарегистрирован: 2011-02-21 12:50:03

Re: Sendmail - Mail Filter долго думает.

Непрочитанное сообщение ASY » 2011-08-08 15:14:01

в этом случае должно было летать уже с отключенным spamassassin...

Аватара пользователя
kharkov_max
капитан
Сообщения: 1859
Зарегистрирован: 2008-10-03 14:56:40

Re: Sendmail - Mail Filter долго думает.

Непрочитанное сообщение kharkov_max » 2011-08-08 15:37:21

ASY писал(а):в этом случае должно было летать уже с отключенным spamassassin...
Не много сбило с толку Ваше сообщение.

Правильно ли я понимаю как должно работать при моих настройках.
При получении письма Sendmail запускает фильтр spamass-milter, фильтр обращается к spamd и ждет 4 мин, т.к. spamd не запущен.
Собственно в этом и затык ...

Или все должно происходить как-то по другому ?

ASY
мл. сержант
Сообщения: 130
Зарегистрирован: 2011-02-21 12:50:03

Re: Sendmail - Mail Filter долго думает.

Непрочитанное сообщение ASY » 2011-08-08 16:01:19

kharkov_max писал(а):При получении письма Sendmail запускает фильтр spamass-milter, фильтр обращается к spamd и ждет 4 мин, т.к. spamd не запущен.
Именно так. Но я не понял, зачем понадобилось отключать ещё и ClamAV. Исходя из исходного сообщения, можно подумать, что какая-то проблема ещё и с ClamAV. Кстати, с MILTER_LOG_LEVEL 9 в логе sendmail что-то появилось ?

Аватара пользователя
kharkov_max
капитан
Сообщения: 1859
Зарегистрирован: 2008-10-03 14:56:40

Re: Sendmail - Mail Filter долго думает.

Непрочитанное сообщение kharkov_max » 2011-08-08 16:10:44

Да - сори не написал.
С clamav все было нормально.
Затык был именно в spamd.

Поправил порядок запуска в стартовых скриптах - все стало автоматом подниматься при перезагрузке.

Вопрос закрыт.
Огромное спасибо за помощь.