Вам никогда ни хотелось унать Никогда: «Какого черта делает сервер MySQL?!»
Или откуда берется нагрузка на него?
Ответ на вопрос — утиллита MyTop.
На CentOS ставится с помощью команды:
# yum install -y mytop
Это клон top, утилиты, с которой знаком каждый системный администратор, но он следит не за системой, а за потоками MySQL. В двух словах, это отличная утилита командной строки, которая подключается к серверу MySQL, периодически выполняет команды SHOW PROCESSLIST, SHOW STATUS и отображает сводные результаты, к которым можно применять различные фильтры. После установки вы можете запускать mytop с некоторым параметрами, например,
# mytop -u пользователь -p пароль -d база_данных
Параметры можно записать в файл настроек ~/.mytop.
Как видно на скрине, основной экран делится на две части. Сверху находится статистика по серверу (прячется по нажатию H). Там указаны:
— имя узла, версия и время работы сервера MySQL;
— общее число обработанных запросов и среднее число запросов в секунду;
— число медленно обрабатываемых запросов (slow queries);
— текущая информация по числу запросов в секунду;
— медленно обрабатываемых запросах и потоках;
— сведения об эффективности буфера ключей (как часто MySQL находит ключи в буфере, не обращаясь к диску);
— среднее число байтов, посланных и полученных сервером, и число байтов, пересылаемых в данный момент.
Во второй части экрана отображены все активные потоки (в том числе тот, который использует MyTop).
Здесь можно видеть:
— имя пользователя;
— базы данных и узла;
— текущий запрос или состояние.
Как сказано в документации, лучше запускать программу в xterm — этот терминал шире обычных 80 символов, и строки таблицы потоков можно видеть целиком.
Для выбора конкретных узлов или баз данных нажмите h или d, фильтр пользователей вызывается клавишей u. Фильтры сбрасывает F.
Для получения дополнительной информации по выбранному потоку нажмите f. k уничтожает поток.
Если вы хотите использовать MyTop в скрипте или веб-приложении, доступен пакетный режим — запуск с ключом -b. В пакетном режиме MyTop печатает таблицу без ограничения на число строк, после чего завершает работу.
MyTop давно есть в Debian и Ubuntu.