SpamAssassin не выдерживает нагрузки.

На доскональное знание данной темы, не может претендовать, пожалуй ни один спец, из ныне живущих на земле. ;-)
Так поможем друг другу.

Модераторы: Trinity admin`s, Free-lance moderator`s

smacorp
Junior member
Сообщения: 1
Зарегистрирован: 22 апр 2008, 13:22
Откуда: Казань

SpamAssassin не выдерживает нагрузки.

Сообщение smacorp » 22 апр 2008, 13:48

Здравствуйте. Встречался ли кто-нибудь с подобной ситуацией?

FreeBSD+Sendmail+Spamass-Milter+SpamAssassin. Все замечательно работает пока, насколько я понимаю, количество спама не начинает зашкаливать.

В логи начинают сыпаться сообщения:

"server reached --max-children setting, consider raising it"
и
"connect to spamd on 127.0.0.1 failed, retrying: Operation timed out"
и
"Milter (spamassassin): to error state"

Ну и, как следствие, огромное количество пропущенного спама в почтовые ящики юзеров.

Проходит некоторое время, количество спама снижается, и Assassin снова начинает чудно справляться со своими обязанностями.

Что делать и как это побороть? Пробовал увеличивать количество потомков - 10, 15, 25 - все равно наступает момент когда в логи лезет "server reached --max-children setting".

Перешел на хранение Байеса в MySQL, отключил AutoWhiteList, увеличил количество максимальных соединений на потомка до 1000 (и 10000 пробовал, без разницы).

В общем, ничего сделать не удалось. Все равно 2-3 раза в день Assassin перестает справляться. И это на 3 ГГц процессоре при 100% загрузке. Ну не Xeon на 4 ядра же ставить, чтобы этот мусор фильтровать?!

Или это нормальное поведение и решения нет?

Аватара пользователя
setar
Site Admin
Site Admin
Сообщения: 1990
Зарегистрирован: 22 авг 2002, 12:03
Откуда: St. Petersburg

Сообщение setar » 24 апр 2008, 10:29

поведение не нормальное, у меня так было при очередном апдейте библиотек каких то - вот такое же поведение наблюдалось.
После пересборки всех зависимых пакетов всё пришло в норму.
Если в вашем случае дистрибутив цельный и установленный из пакетов то единственное что могу посоветовать - сделайте ожидание почты при недоступности спамассасина. Это весьма замедлит ходение почты в пиковые моменты, но не даст доставлять спам через переполнение

Аватара пользователя
Stranger03
Сотрудник Тринити
Сотрудник Тринити
Сообщения: 12979
Зарегистрирован: 14 ноя 2003, 16:25
Откуда: СПб, Екатеринбург
Контактная информация:

Сообщение Stranger03 » 24 апр 2008, 10:32

setar писал(а):поведение не нормальное
Серг, это же БСД. Там как правило все собирается из портов.
В качестве хинта я бы сделал так: обновил все порты через СВУП, пересорбрал спамасс, мильтер, обновил почтовик + переобучил с новыми базами баес.

Аватара пользователя
setar
Site Admin
Site Admin
Сообщения: 1990
Зарегистрирован: 22 авг 2002, 12:03
Откуда: St. Petersburg

Сообщение setar » 24 апр 2008, 10:55

8) с БСД мало сталкивался, а там есть контроль зависимостей всяких либ  когда пакет обновляешь ?

Аватара пользователя
Stranger03
Сотрудник Тринити
Сотрудник Тринити
Сообщения: 12979
Зарегистрирован: 14 ноя 2003, 16:25
Откуда: СПб, Екатеринбург
Контактная информация:

Сообщение Stranger03 » 24 апр 2008, 11:00

setar писал(а):8) с БСД мало сталкивался, а там есть контроль зависимостей всяких либ  когда пакет обновляешь ?
Если ставить из портов, то он сам вытаскивает нужные, компилит по ходу и ставит. Очень знаете ли удобно. Я много лет назад как-то с БСД на линукс попробовал переехать, меня так доставали эти зависимости пакетов. А на БСД зашел в порт - "мейк анд мейк инсталл" и все. Очень удобно.

Аватара пользователя
setar
Site Admin
Site Admin
Сообщения: 1990
Зарегистрирован: 22 авг 2002, 12:03
Откуда: St. Petersburg

Сообщение setar » 24 апр 2008, 12:23

Stranger03 писал(а):
setar писал(а):8) с БСД мало сталкивался, а там есть контроль зависимостей всяких либ  когда пакет обновляешь ?
Если ставить из портов, то он сам вытаскивает нужные, компилит по ходу и ставит. Очень знаете ли удобно. Я много лет назад как-то с БСД на линукс попробовал переехать, меня так доставали эти зависимости пакетов. А на БСД зашел в порт - "мейк анд мейк инсталл" и все. Очень удобно.
:) ты мне Gentoo`шнику это не рассказывай, сам знаю как это удобно

squirL
Advanced member
Сообщения: 114
Зарегистрирован: 11 апр 2006, 20:16
Откуда: Киев

Сообщение squirL » 06 май 2008, 18:12

а нет желания, сменить продукт написанный на Perl на продукт написанный на C? например на DSpam? :) я, как perl разработчик, могу заявить - как бы вы не крутили и не тюнили - perl такой нагрузки не вытянет, рано или поздно упретесь...

Аватара пользователя
Stranger03
Сотрудник Тринити
Сотрудник Тринити
Сообщения: 12979
Зарегистрирован: 14 ноя 2003, 16:25
Откуда: СПб, Екатеринбург
Контактная информация:

Сообщение Stranger03 » 07 май 2008, 07:30

squirL писал(а):а нет желания, сменить продукт написанный на Perl на продукт написанный на C? например на DSpam? :) я, как perl разработчик, могу заявить - как бы вы не крутили и не тюнили - perl такой нагрузки не вытянет, рано или поздно упретесь...
Ага, вы это Сетару расскажите, у которого почта от 50-ти доменов идет на один сервер. + вся корпоративная почта. Просто надо немного приложить мозги, чтобы правильно работало.

sivanov
Advanced member
Сообщения: 127
Зарегистрирован: 25 апр 2008, 11:20
Откуда: Свердлоская обл.

Сообщение sivanov » 07 май 2008, 08:06

Если уместно, можно сильно уменьшить количество спама таки доходящего до SA использованием грейлистинга.
У нас около 1500 почтовых ящиков, стоит касперский анти-спам. Пару месяцев назад началось прямо-таки обострение, совсем фигово стало жить: по 25 порту трафик с и-нета порядка 25Гб в месяц. Касперский терзал проц нещадно.
Передалал настроики почтовика на работу с разными конфигами для корпоративной и внешней почты, внутренняя почта проходит только через антивирус, на прием внешней стоит greylisting policy daemon. Так вот, теперь спама доходящего до него, касперский анти-спам практически не регистрирует. Ну, только тот что постмастеру предназначается :D

Аватара пользователя
Stranger03
Сотрудник Тринити
Сотрудник Тринити
Сообщения: 12979
Зарегистрирован: 14 ноя 2003, 16:25
Откуда: СПб, Екатеринбург
Контактная информация:

Сообщение Stranger03 » 07 май 2008, 08:31

sivanov писал(а):через антивирус, на прием внешней стоит greylisting policy daemon. Так вот, теперь спама доходящего до него, касперский анти-спам практически не регистрирует. Ну, только тот что постмастеру предназначается :D
Ну вообщем тоже вариант, правда грейлисты немного увеличивают задержки при прохождении почты. Сетар этим тоже пользуется насколько я знаю.

Аватара пользователя
setar
Site Admin
Site Admin
Сообщения: 1990
Зарегистрирован: 22 авг 2002, 12:03
Откуда: St. Petersburg

Сообщение setar » 07 май 2008, 10:29

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

squirL
Advanced member
Сообщения: 114
Зарегистрирован: 11 апр 2006, 20:16
Откуда: Киев

Сообщение squirL » 07 май 2008, 14:07

Stranger03 писал(а): Ага, вы это Сетару расскажите, у которого почта от 50-ти доменов идет на один сервер. + вся корпоративная почта. Просто надо немного приложить мозги, чтобы правильно работало.
ну т. е. - у меня мозгов нету и spamassassin способен справиться с любой нагрузкой? :)

2 smacorp
попробуйте грейлистинг + попробуйте ограничивать количество писем с одного ip в единицу времени. таким образом можете разгрузить spamassassin

еще - хотелось бы глянуть на вывод диагностических утилит в момент перегрузок spamassassin. вывод top, к примеру

Аватара пользователя
setar
Site Admin
Site Admin
Сообщения: 1990
Зарегистрирован: 22 авг 2002, 12:03
Откуда: St. Petersburg

Сообщение setar » 07 май 2008, 17:41

2 squirL что за провакации?
Само собой любой обработчик написанный на перле или на си имеет свой предел потока запросов которые он способен обработать.
Другое дело есть механизмы уменьшающие этот поток, часть вы и сами назвали, я бы добавил ручные блек листы по анализам логов,  блеклисты спамеров (reject_rbl_client), отсечение "торопливых почтовиков" начинающих общаться до приглашения системы (reject_unauth_pipelining) и другие профилактичесие меры (например проверка SPF)

squirL
Advanced member
Сообщения: 114
Зарегистрирован: 11 апр 2006, 20:16
Откуда: Киев

Сообщение squirL » 08 май 2008, 09:30

никаких провокаций, упаси Бог. просто я хочу напомнить автору, что в определенных ситуациях - спасает только замена используемого решения.
я бы добавил ручные блек листы по анализам логов,  блеклисты спамеров (reject_rbl_client), отсечение "торопливых почтовиков" начинающих общаться до приглашения системы (reject_unauth_pipelining) и другие профилактичесие меры (например проверка SPF)
вот тут +1. правда к rbl спискам я отношусь с опаской. вспомнить только недавнюю историю с ordb.org.

Ziggy Stardust
Advanced member
Сообщения: 327
Зарегистрирован: 15 сен 2007, 13:23
Откуда: Екатеринбург
Контактная информация:

Сообщение Ziggy Stardust » 08 май 2008, 18:05

Greet pause + greylist довольно существенно урежут процент спама доходящего до ассассина.

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

Ответить

Вернуться в «Серверы - ПО, Unix подобные системы»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 17 гостей