На рабочем сервере ЛАМПЫ я получаю 'слишком много соединений' ошибка от MySQL иногда, я хочу добавить контроль, чтобы найти, состоит ли причина в том, что я превышаю предел макс. соединений.
Мой вопрос: Как я могу запросить от mysql или от mysqladmin текущее количество используемых соединений? (Я заметил, что выставочное состояние дает общие соединения а не в настоящее время используемые.)
Очень мощный инструмент для мониторинга MySQL - innotop
. Вы можете найти его здесь:
https: // github.com / innotop / innotop
В Debian Lenny он является частью пакета mysql-client-5.0 и, я думаю, доступен и для других дистрибутивов. Он особенно эффективен при мониторинге внутренних компонентов InnoDB, но также обеспечивает общий мониторинг сервера.
В режиме «Переменные и состояние» он контролирует переменные «Подключения» и «Макс_использованные_Соединения» (среди прочих). Он отображает абсолютные и инкрементные значения - последнее может дать вам представление о текущих подключениях.
Поскольку innotop предоставляет неинтерактивный режим, вы можете легко создать полностью автоматизированный мониторинг, вызвав innotop из некоторых настраиваемых скриптов, проверок nagios или любой другой системы, которая у вас есть.
http://www.mail-archive.com/monit-general@nongnu.org/msg00830.html
Взгляните сюда мат - может быть, это будет какая-то польза.
SHOW STATUS не отображает общее количество соединений: он отображает текущие соединения. Вы получаете сообщение об ошибке слишком много соединений, когда количество открытых соединений (неработающих или нет) превышает установленный для сервера лимит.
Судя по вашему комментарию о SHOW STATUS, похоже, что у вас на сервере много неработающих соединений. Это указывает на неправильное использование постоянных соединений; некоторые библиотеки, которые утверждают, что поддерживают постоянные соединения, не обрабатывают их должным образом, и они склонны открывать новые соединения, даже когда есть незанятые соединения.
Выясните, какое приложение выполняет такие запросы, и настройте его так, чтобы оно не использовало постоянные соединения.
Возможно, вам будет проще получить администратора MySQL , с его помощью вы можете легко отслеживать, откуда берутся используемые соединения. . См. Здесь о подключениях , используемых ...