URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 7694
[ Назад ]

Исходное сообщение
"Диагностика проблем mysql"

Отправлено digitalm , 14-Мрт-13 06:35 
Недавно столкнулся с проблемой "too many connections" в mysql. Причем об этом мне сообщил вебмастер. Нигде в логах системы (Debian 6, настройки mysql по-умолчанию) я этих сообщений не нашел.
Поделитесь, пожалуйста, опытом, как отстроить нормально протоколирование в связке apache2+php5+mysql? А может есть и какие-то известные средства оповещения о подобных проблемах?

Содержание

Сообщения в этом обсуждении
"Диагностика проблем mysql"
Отправлено Mr. Mistoffelees , 14-Мрт-13 13:49 
Привет,

> Недавно столкнулся с проблемой "too many connections" в mysql. Причем об этом
> мне сообщил вебмастер. Нигде в логах системы (Debian 6, настройки mysql
> по-умолчанию) я этих сообщений не нашел.

И не найдете - нету их...

> Поделитесь, пожалуйста, опытом, как отстроить нормально протоколирование в связке apache2+php5+mysql?

В первую очередь,

> А может есть и какие-то известные средства оповещения о подобных проблемах?


"Диагностика проблем mysql"
Отправлено Mr. Mistoffelees , 14-Мрт-13 13:58 
Привет,

> Недавно столкнулся с проблемой "too many connections" в mysql. Причем об этом
> мне сообщил вебмастер. Нигде в логах системы (Debian 6, настройки mysql
> по-умолчанию) я этих сообщений не нашел.

И не найдете их - таких там нет.

> Поделитесь, пожалуйста, опытом, как отстроить нормально протоколирование в связке apache2+php5+mysql?

В первую очередь, отключить persistent connections в php.ini.

Во-вторых, после этого посмотреть как движетсь кол-во сессий во времени - для этого раз в некоторе время в MySQL консоли пишем "show processlist;". Установив некое верхнее значение, смотрим что написано в my.cnf насчет максимального кол-ва однвременных сесий (кажется, по умолчанию, их 100) - и если надо, правим наверх.

> А может есть и какие-то известные средства оповещения о подобных проблемах?

Несложно прикрутить консольный mysql клиент, чтоб выдавал прямо кол-во сесий, а затем результат справлять, скажем, в Nagios или другую подобную мониторинг систему:

echo "show processlist" | mysql | wc -l

При этом вам нужно добавить опции -u и -p MySQL клиента (требуются права PROCESS).

WWell,