Leon1010

Я в Соц.сетях:

Теги:

Ссылки

Как узнать какие запросы обрабатывает сервер MySQL в текущий момент?

Вам никогда ни хотелось унать Никогда: «Какого черта делает сервер MySQL?!»
Или откуда берется нагрузка на него?

Ответ на вопрос — утиллита MyTop.

На CentOS ставится с помощью команды:
# yum install -y mytop

Это клон top, утилиты, с которой знаком каждый системный администратор, но он следит не за системой, а за потоками MySQL. В двух словах, это отличная утилита командной строки, которая подключается к серверу MySQL, периодически выполняет команды SHOW PROCESSLIST, SHOW STATUS и отображает сводные результаты, к которым можно применять различные фильтры. После установки вы можете запускать mytop с некоторым параметрами, например,

# mytop -u пользователь -p пароль -d база_данных

Параметры можно записать в файл настроек ~/.mytop.

mytop

Как видно на скрине, основной экран делится на две части. Сверху находится статистика по серверу (прячется по нажатию H). Там указаны:
— имя узла, версия и время работы сервера MySQL;
— общее число обработанных запросов и среднее число запросов в секунду;
— число медленно обрабатываемых запросов (slow queries);
— текущая информация по числу запросов в секунду;
— медленно обрабатываемых запросах и потоках;
— сведения об эффективности буфера ключей (как часто MySQL находит ключи в буфере, не обращаясь к диску);
— среднее число байтов, посланных и полученных сервером, и число байтов, пересылаемых в данный момент.

Во второй части экрана отображены все активные потоки (в том числе тот, который использует MyTop).
Здесь можно видеть:
— имя пользователя;
— базы данных и узла;
— текущий запрос или состояние.

Как сказано в документации, лучше запускать программу в xterm — этот терминал шире обычных 80 символов, и строки таблицы потоков можно видеть целиком.

Для выбора конкретных узлов или баз данных нажмите h или d, фильтр пользователей вызывается клавишей u. Фильтры сбрасывает F.

Для получения дополнительной информации по выбранному потоку нажмите f. k уничтожает поток.

Если вы хотите использовать MyTop в скрипте или веб-приложении, доступен пакетный режим — запуск с ключом -b. В пакетном режиме MyTop печатает таблицу без ограничения на число строк, после чего завершает работу.

MyTop давно есть в Debian и Ubuntu.

Запись опубликована в рубрике Администрирование с метками , .