MySQL: утилита mytop — мониторим нагрузку сервера

Автор: | 01/19/2012
 

Для слежения за загрузкой сервера MySQL есть такая удобная утилита — mytop.

Установка очень простая:

# cd /usr/ports/databases/mytop
# make install clean

Подключаемся к MySQL:

# mysql -u root -p
Enter password:

Даём права на все базы пользователю mytop:

mysql> grant all on *.* to ‘mytop’@’localhost’ identified by ‘password’;

Создаем файл ~/.mytop в домашнем каталоге пользователя, от имени которого вы будете запускать утилиту mytop и в него вносим конфигурацию подключения:

# cat .mytop
user=mytop
pass=password
delay=1

Сменим права на доступ к файлу:

# chmod 700 .mytop

Запускаем:

# mytop

И получаем окно с выводом всех активных процессов в MySQL:

Можно вывести данные по определенной базе, например:

# mytop -u postfix -p mypasswd -d postfix

В первой строке: имя хоста и версия запущенного сервера MySQL. Верхний правый угол – uptime сервера (время непрерывной работы) дней+часов+минут+секунд.

Во второй строке: общее количество обработанных запросов к базе (Queries:), среднее количество запросов в секунду (qps:), и кол-во медленных запросов (Slow:).

В третьей строке показывает информацию о процессах: всего, активных, кешированных.

В четвертой строке: сведения об эффективности буфера ключей – как часто MySQL находит ключи в буфере, не обращаясь к диску, среднее число байтов, посланных и полученных сервером, и число байтов, пересылаемых в данный момент.

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