Для слежения за загрузкой сервера 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). Здесь выводятся в табличной форме имя пользователя, базы данных и узла, а также текущий запрос и состояние.