Падение mysql из-за postfix

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

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
spiner
проходил мимо
Сообщения: 8
Зарегистрирован: 2008-02-04 17:57:26

Падение mysql из-за postfix

Непрочитанное сообщение spiner » 2008-02-04 18:00:02

Привет.
Имеется postfix 2.2 и mysql 4.1.20.
Как-то вечером перестала работать почта.
Смотрю логи Postfix и понимаю, что сыпалась какая-то хрень с одного из клиентов, а именно в поле mail to стояло вот это <C:MailerOUT>. Причем проверку SASL клиент прошел.
Эту "почту" этот клиент пытался отправить 36 раз за 54 секунды. После этого он тоже продолжал пытаться отправить, но тут уже не хватило mysql, а именно, postfix не мог обратиться к карте пользователей:
Temporary lookup failure; потому что
unix:/var/run/mysqld/mysqld.sock: Too many connections
Периодичность попыток у этого клиента дальше была такой же и продолжалось это около 30 минут. Потом попытки закончились и все заработало само собой.
Так вот, возникает вопрос: почему too many connections, если по умолчанию в mysql разрешается 100 сессий одновременно?
Postfix же не пытался создать много однвоременных сессий? Также на сервере крутится биллинг, но он вряд ли мог держать много одновременных сессий.
И еще вопрос: как вы с такими случаями боретесь?
У меня smtpd_client_connection_count_limit = 50.

P.S. В итоге позвонил пользователю, с компьютера которого это все происходило. Он пожаловался на зависание компьютера в это момент и сказал, что я как-то должен бороться с такими случаями. Я с ним полностью согласен, но я не знаю как. Подскажете?
Спасибо.

Хостинговая компания 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/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

AzureZ
мл. сержант
Сообщения: 124
Зарегистрирован: 2007-11-06 17:07:27
Откуда: Москва

Re: Падение mysql из-за postfix

Непрочитанное сообщение AzureZ » 2008-02-04 18:05:57

Привет. Сделай побольше соединений с базой.
А так же напиши точно на что ругается постфикс. cat /var/log/maillog | grep mysql

И еще вопрос. Для управления ящиками используется postfixadmin?

spiner
проходил мимо
Сообщения: 8
Зарегистрирован: 2008-02-04 17:57:26

Re: Падение mysql из-за postfix

Непрочитанное сообщение spiner » 2008-02-04 19:52:17

Спасибо за ответ.
Сделай побольше соединений с базой.
мне кажется, что это не выход из ситуации.
cat /var/log/maillog | grep mysql

Код: Выделить всё

Jan 25 18:36:01 main postfix/smtpd[24803]: warning: connect to mysql server unix:/var/run/mysqld/mysqld.sock: Too many connections
Jan 25 18:36:04 main postfix/smtpd[24823]: warning: connect to mysql server unix:/var/run/mysqld/mysqld.sock: Too many connections
Jan 25 18:36:07 main postfix/smtpd[24844]: warning: connect to mysql server unix:/var/run/mysqld/mysqld.sock: Too many connections
Jan 25 18:36:07 main authdaemond: failed to connect to mysql server (server=localhost, userid=vmailuser): Too many connections
Jan 25 18:36:10 main postfix/smtpd[24834]: warning: connect to mysql server unix:/var/run/mysqld/mysqld.sock: Too many connections
Jan 25 18:36:31 main postfix/smtpd[24929]: warning: connect to mysql server unix:/var/run/mysqld/mysqld.sock: Too many connections
Jan 25 18:36:37 main postfix/smtpd[24950]: warning: connect to mysql server unix:/var/run/mysqld/mysqld.sock: Too many connections
Jan 25 18:36:41 main postfix/smtpd[24961]: warning: connect to mysql server unix:/var/run/mysqld/mysqld.sock: Too many connections
Jan 25 18:36:41 main postfix/smtpd[24968]: warning: connect to mysql server unix:/var/run/mysqld/mysqld.sock: Too many connections
.
.
.
etc
Для управления ящиками используется свой скрипт на перле.

Аватара пользователя
Fastman
ст. лейтенант
Сообщения: 1236
Зарегистрирован: 2006-07-07 10:20:38
Откуда: Минск. РБ

Re: Падение mysql из-за postfix

Непрочитанное сообщение Fastman » 2008-02-04 20:54:27

spiner писал(а):Спасибо за ответ.
Сделай побольше соединений с базой.
Для управления ящиками используется свой скрипт на перле.
есть переменная max_connections в mySQL по умолчанию значение 100 по моему.. если переменная не прписана Это на ВСЮ базу.
проблема в том что либо коннекты не успевают отваливаться и накапливается 100 одновременных.
Либо что тоже может быть - твой скрипт не закрывает корректно соединение с базой.
Главное в жизни здоровье и любовь, остальное я все куплю.

spiner
проходил мимо
Сообщения: 8
Зарегистрирован: 2008-02-04 17:57:26

Re: Падение mysql из-за postfix

Непрочитанное сообщение spiner » 2008-02-04 21:19:47

Либо что тоже может быть - твой скрипт не закрывает корректно соединение с базой.
скрипт все нормально закрывает - это точно, но еще точнее, он уже не выполняется около двух недель.
Мне кажется 100 одновременных коннектов - это очень много. Почтовых пользователей у меня около 300. Два года работает, а сейчас вдруг...
Действительно max_connections не задана, и действительно, как я писал в первом посте, этот параметр равен 100.

Аватара пользователя
Fastman
ст. лейтенант
Сообщения: 1236
Зарегистрирован: 2006-07-07 10:20:38
Откуда: Минск. РБ

Re: Падение mysql из-за postfix

Непрочитанное сообщение Fastman » 2008-02-04 21:27:11

spiner писал(а):
Либо что тоже может быть - твой скрипт не закрывает корректно соединение с базой.
скрипт все нормально закрывает - это точно, но еще точнее, он уже не выполняется около двух недель.
Мне кажется 100 одновременных коннектов - это очень много. Почтовых пользователей у меня около 300. Два года работает, а сейчас вдруг...
Действительно max_connections не задана, и действительно, как я писал в первом посте, этот параметр равен 100.
Да но у тебя же еще как ты пишешь и биллинг. Поэтому поковыряй конфиг и протести.
Главное в жизни здоровье и любовь, остальное я все куплю.

AzureZ
мл. сержант
Сообщения: 124
Зарегистрирован: 2007-11-06 17:07:27
Откуда: Москва

Re: Падение mysql из-за postfix

Непрочитанное сообщение AzureZ » 2008-02-04 21:42:34

Попробуй выполнить mysqladmin processlist в тот момент когда у вас постфикс будет матюгаться, и посмотрите к какой базе открыто наибольшее количество соединений. У меня порядка 100 пользователей и максимум соединений к базе было около 8

И еще момент. Используется ли proxymap?? Если нет то лучше включить.
Выдержка из какойто статьи "Вы можете уменьшить количество соединений с сервером баз данных, используя сервис Postfix proxymap"

Аватара пользователя
paranoidchaos
мл. сержант
Сообщения: 80
Зарегистрирован: 2007-12-13 10:58:23

Re: Падение mysql из-за postfix

Непрочитанное сообщение paranoidchaos » 2008-02-04 22:19:21

юзай постгри вместо мускула и поставь фильтры на постфиксе чтобы херню не пихали

spiner
проходил мимо
Сообщения: 8
Зарегистрирован: 2008-02-04 17:57:26

Re: Падение mysql из-за postfix

Непрочитанное сообщение spiner » 2008-02-04 22:34:57

Да но у тебя же еще как ты пишешь и биллинг. Поэтому поковыряй конфиг и протести.
исключено. ковырял. тестилось два года.
Попробуй выполнить mysqladmin processlist в тот момент когда у вас постфикс будет матюгаться, и посмотрите к какой базе открыто наибольшее количество соединений.
К сожалению не получится. Нет постоянного доступа к серверу. Но идея такая была.
И еще момент. Используется ли proxymap?? Если нет то лучше включить.
Не используется. Почитал ман, по-моему как раз то, что нужно.
поставь фильтры на постфиксе чтобы херню не пихали
ты имеешь ввиду smtpd_sender_restrictions и smtpd_recipient_restrictions?
Не подскажешь рабочий вариант?

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

Аватара пользователя
Fastman
ст. лейтенант
Сообщения: 1236
Зарегистрирован: 2006-07-07 10:20:38
Откуда: Минск. РБ

Re: Падение mysql из-за postfix

Непрочитанное сообщение Fastman » 2008-02-04 22:53:08

ты имеешь ввиду smtpd_sender_restrictions и smtpd_recipient_restrictions?
Не подскажешь рабочий вариант?
Всем спасибо!
что то вроде такого у меня прописано:

Код: Выделить всё

disable_vrfy_command = yes
smtpd_helo_required = yes
smtp_always_send_ehlo = yes
smtpd_hard_error_limit = 5
smtpd_timeout = 120s
smtp_helo_timeout = 60s
smtp_mail_timeout = 60s
smtp_rcpt_timeout = 90s
maps_rbl_reject_code = 554
smtpd_recipient_restrictions=
 permit_mynetworks,
 permit_sasl_authenticated,
 reject_unlisted_recipient,
 reject_unknown_recipient_domain,
 reject_unverified_recipient,
 reject_non_fqdn_hostname,
 reject_non_fqdn_sender,
 reject_unauth_destination,
 reject_unauth_pipelining,
 reject_invalid_hostname,
 reject_rbl_client list.dsbl.org,
 reject_rbl_client dynablock.wirehub.net,
 reject_rbl_client blackholes.wirehub.net,
 reject_rbl_client dnsbl.njabl.org 
 
Главное в жизни здоровье и любовь, остальное я все куплю.

AzureZ
мл. сержант
Сообщения: 124
Зарегистрирован: 2007-11-06 17:07:27
Откуда: Москва

Re: Падение mysql из-за postfix

Непрочитанное сообщение AzureZ » 2008-02-04 23:04:11

Можно еще поставить /usr/ports/mail/postfix-policyd-weight

spiner
проходил мимо
Сообщения: 8
Зарегистрирован: 2008-02-04 17:57:26

Re: Падение mysql из-за postfix

Непрочитанное сообщение spiner » 2008-02-04 23:11:37

Всем спасибо!
Буду пробовать proxymap и restrictions.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35045
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Падение mysql из-за postfix

Непрочитанное сообщение Alex Keda » 2008-02-05 1:19:57

когда-то у меня был дбмайл...
и 30 юзеров...
=========
у меня стояло 600 коннектом. если меньше - начинались проблемы.
ПОэтому рассказы про сотню - что это много ....
это немного. Увеличь хотя бы вдвое.
Убей их всех! Бог потом рассортирует...

spiner
проходил мимо
Сообщения: 8
Зарегистрирован: 2008-02-04 17:57:26

Re: Падение mysql из-за postfix

Непрочитанное сообщение spiner » 2008-02-05 8:37:42

600 коннектов на 30 пользователей? Что же они делали?
Хотя, впрочем, это уже не по теме..

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35045
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Падение mysql из-за postfix

Непрочитанное сообщение Alex Keda » 2008-02-05 9:52:14

это дбмайл =)))
Такая вот хреновина...
Убей их всех! Бог потом рассортирует...