Падение mysql из-за postfix
Модератор: xM
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- проходил мимо
- Сообщения: 8
- Зарегистрирован: 2008-02-04 17:57:26
Падение mysql из-за postfix
Привет.
Имеется 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. В итоге позвонил пользователю, с компьютера которого это все происходило. Он пожаловался на зависание компьютера в это момент и сказал, что я как-то должен бороться с такими случаями. Я с ним полностью согласен, но я не знаю как. Подскажете?
Спасибо.
Имеется 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
Тарифы на хостинг в России, от 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/
Тарифы на виртуальные сервера (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/
-
- мл. сержант
- Сообщения: 124
- Зарегистрирован: 2007-11-06 17:07:27
- Откуда: Москва
Re: Падение mysql из-за postfix
Привет. Сделай побольше соединений с базой.
А так же напиши точно на что ругается постфикс. cat /var/log/maillog | grep mysql
И еще вопрос. Для управления ящиками используется postfixadmin?
А так же напиши точно на что ругается постфикс. cat /var/log/maillog | grep mysql
И еще вопрос. Для управления ящиками используется postfixadmin?
-
- проходил мимо
- Сообщения: 8
- Зарегистрирован: 2008-02-04 17:57:26
Re: Падение mysql из-за postfix
Спасибо за ответ.
cat /var/log/maillog | grep mysql
Для управления ящиками используется свой скрипт на перле.
мне кажется, что это не выход из ситуации.Сделай побольше соединений с базой.
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
есть переменная max_connections в mySQL по умолчанию значение 100 по моему.. если переменная не прписана Это на ВСЮ базу.spiner писал(а):Спасибо за ответ.Сделай побольше соединений с базой.Для управления ящиками используется свой скрипт на перле.
проблема в том что либо коннекты не успевают отваливаться и накапливается 100 одновременных.
Либо что тоже может быть - твой скрипт не закрывает корректно соединение с базой.
Главное в жизни здоровье и любовь, остальное я все куплю.
-
- проходил мимо
- Сообщения: 8
- Зарегистрирован: 2008-02-04 17:57:26
Re: Падение mysql из-за postfix
скрипт все нормально закрывает - это точно, но еще точнее, он уже не выполняется около двух недель.Либо что тоже может быть - твой скрипт не закрывает корректно соединение с базой.
Мне кажется 100 одновременных коннектов - это очень много. Почтовых пользователей у меня около 300. Два года работает, а сейчас вдруг...
Действительно max_connections не задана, и действительно, как я писал в первом посте, этот параметр равен 100.
- Fastman
- ст. лейтенант
- Сообщения: 1236
- Зарегистрирован: 2006-07-07 10:20:38
- Откуда: Минск. РБ
Re: Падение mysql из-за postfix
Да но у тебя же еще как ты пишешь и биллинг. Поэтому поковыряй конфиг и протести.spiner писал(а):скрипт все нормально закрывает - это точно, но еще точнее, он уже не выполняется около двух недель.Либо что тоже может быть - твой скрипт не закрывает корректно соединение с базой.
Мне кажется 100 одновременных коннектов - это очень много. Почтовых пользователей у меня около 300. Два года работает, а сейчас вдруг...
Действительно max_connections не задана, и действительно, как я писал в первом посте, этот параметр равен 100.
Главное в жизни здоровье и любовь, остальное я все куплю.
-
- мл. сержант
- Сообщения: 124
- Зарегистрирован: 2007-11-06 17:07:27
- Откуда: Москва
Re: Падение mysql из-за postfix
Попробуй выполнить mysqladmin processlist в тот момент когда у вас постфикс будет матюгаться, и посмотрите к какой базе открыто наибольшее количество соединений. У меня порядка 100 пользователей и максимум соединений к базе было около 8
И еще момент. Используется ли proxymap?? Если нет то лучше включить.
Выдержка из какойто статьи "Вы можете уменьшить количество соединений с сервером баз данных, используя сервис Postfix proxymap"
И еще момент. Используется ли proxymap?? Если нет то лучше включить.
Выдержка из какойто статьи "Вы можете уменьшить количество соединений с сервером баз данных, используя сервис Postfix proxymap"
- paranoidchaos
- мл. сержант
- Сообщения: 80
- Зарегистрирован: 2007-12-13 10:58:23
Re: Падение mysql из-за postfix
юзай постгри вместо мускула и поставь фильтры на постфиксе чтобы херню не пихали
-
- проходил мимо
- Сообщения: 8
- Зарегистрирован: 2008-02-04 17:57:26
Re: Падение mysql из-за postfix
исключено. ковырял. тестилось два года.Да но у тебя же еще как ты пишешь и биллинг. Поэтому поковыряй конфиг и протести.
К сожалению не получится. Нет постоянного доступа к серверу. Но идея такая была.Попробуй выполнить mysqladmin processlist в тот момент когда у вас постфикс будет матюгаться, и посмотрите к какой базе открыто наибольшее количество соединений.
Не используется. Почитал ман, по-моему как раз то, что нужно.И еще момент. Используется ли proxymap?? Если нет то лучше включить.
ты имеешь ввиду smtpd_sender_restrictions и smtpd_recipient_restrictions?поставь фильтры на постфиксе чтобы херню не пихали
Не подскажешь рабочий вариант?
Всем спасибо!
- Fastman
- ст. лейтенант
- Сообщения: 1236
- Зарегистрирован: 2006-07-07 10:20:38
- Откуда: Минск. РБ
Re: Падение mysql из-за postfix
что то вроде такого у меня прописано:ты имеешь ввиду 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
Главное в жизни здоровье и любовь, остальное я все куплю.
-
- мл. сержант
- Сообщения: 124
- Зарегистрирован: 2007-11-06 17:07:27
- Откуда: Москва
Re: Падение mysql из-за postfix
Можно еще поставить /usr/ports/mail/postfix-policyd-weight
-
- проходил мимо
- Сообщения: 8
- Зарегистрирован: 2008-02-04 17:57:26
Re: Падение mysql из-за postfix
Всем спасибо!
Буду пробовать proxymap и restrictions.
Буду пробовать proxymap и restrictions.
- Alex Keda
- стреляли...
- Сообщения: 35456
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Re: Падение mysql из-за postfix
когда-то у меня был дбмайл...
и 30 юзеров...
=========
у меня стояло 600 коннектом. если меньше - начинались проблемы.
ПОэтому рассказы про сотню - что это много ....
это немного. Увеличь хотя бы вдвое.
и 30 юзеров...
=========
у меня стояло 600 коннектом. если меньше - начинались проблемы.
ПОэтому рассказы про сотню - что это много ....
это немного. Увеличь хотя бы вдвое.
Убей их всех! Бог потом рассортирует...
-
- проходил мимо
- Сообщения: 8
- Зарегистрирован: 2008-02-04 17:57:26
Re: Падение mysql из-за postfix
600 коннектов на 30 пользователей? Что же они делали?
Хотя, впрочем, это уже не по теме..
Хотя, впрочем, это уже не по теме..
- Alex Keda
- стреляли...
- Сообщения: 35456
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Re: Падение mysql из-за postfix
это дбмайл ))
Такая вот хреновина...
Такая вот хреновина...
Убей их всех! Бог потом рассортирует...