Mtop - мониторинг нагрузки на MySQL-сервер

Версия для печатиОтправить другуPDF version

При работе с MySQL довольно полезно следить за нагрузкой, которая ложится на MySQL-сервер. В портах есть полезная утилита - mtop. Она в режиме реального времени отслеживает и показывает текущие запросы к безе данных, время их выполнения, статус MySQL-сервера в удобной форме.

Итак, выполним установку утилиты из системы портов:

# cd /usr/ports/databases/mtop && make install clean && rehash

По завершению установки создадим MySQL-пользователя, которому дадим права на просмотр процессов MySQL:

mysql> grant process on *.* to 'mtop'@'localhost' identified by 'mtop_passwd_here';
Query OK, 0 rows affected (0.11 sec)

На этом все "приготовления" можно считать законченными. Запустим mtop и посмотрим на результат. Параметри запуска следующие:

# mtop -dbu mtop -p mtop_passwd_here

Если не указывать ключ -dbu, то mtop будет пытаться подключаться от имени пользователя mysqltop.

Теперь можно наблюдать за динамикой SQL-запросов. При этом быстрые запросы отображаются белым цветом и потом, по мере роста длительности выполнения цвет начинает меняться, если запрос выполняется более 10 секунд он окрашивается фиолетовым, более 20 секунд - желтым, более 40 секунд - красным. Это значения по умолчанию, но их можно переназначить.

Утилита очень хорошо визуально демонстрирует проблемные места в работе MySQL. Так же очень хорошо видны такие показатели как число процессов (threads) и сколько из них активны (running), сколько процессов закешированны(cached), сколько запросов поступило и сколько из них медленных(Queries/slow) и какова эффективность кеша запросов (Cache Hit).

Для того, чтобы узнать все возможности и ключи запуска утилиты - настоятельно рекомендую ознакомиться со страницей руководства.

А чтобы ознакомиться с доступными ключами во время работы утилиты, необходимо нажать "?". В результате получаем такую подсказку:

q - quit
? - help; show this text
f - flush status
F - fold/unfold column names in select statement display
k - kill processes; send a kill to a list of ids
s - change the number of seconds to delay between updates
m - toggle manual refresh mode on/off
d - filter display with regular expression (user/host/db/command/state/info)
h - display process for only one host
u - display process for only one user
i - toggle all/non-Sleeping process display
o - reverse the sort order
e - explain a process; show query optimizer info
t - show mysqld stats (show status/mysqladmin ext)
T - show mysqld important stats
v - show mysqld variables (show variables/mysqladmin vars)
z - zoom in on a process, show sql statement detail
r - show replication status for master/slaves

Думаю, что переводить нету смысла, и так все понятно. Ну и напоследок - скриншоты вывода утилиты mtop:

Mtop

MTOP

MTOP

MTOP

MTOP

MTOP

 

Ваша оценка: Нет Средняя: 5 (3 голоса)

Вставай, Україно!

Литература