Как мониторить активность MySQL в реальном времени (online)?
Довольно часто возникает необходимость смотреть, что происходит на MySQL сервере. Какие для этого есть инструменты?
Инструментов много. Одним из старейших является mtop. Он обеспечивает показ текущих запросов в реальном времени и некоторую полезныю статистическую информацию, а также возможность "убить" запросы.
q - выход
? - справка
отображение
s - количество секунд между обновлением информации
m - переключение между автоматическим и ручным режимом обновления
d - отображение по фильтру регулярного выражения (user/host/db/command/state/info)
F - вкл/выкл имена колонок при отображении оператора select
h - показывать процесс только для одного сервера
u - показывать процесс только для одного пользователя
i - переключить все/активные процессы
o - обратный порядок сортировки
управление
k - убить процессы, отправить kill списку идентификаторов процессов
e - исследовать процесс; показать информацию оптимизатора для запроса
z - увеличить в один процесс; показать подробности sql оператора
f - сбросить статистику (переменные состояния)
t - показать статистику mysqld
T - показать краткое/важное состояние
v - показать переменные mysqld
r - показать состояние репликации
Ещё одним полезным инструментом является innotop. Обычно он есть во всех популярных дистрибутивах (В Debian-based дистрибутивах в пакете mysql-client). Вот краткая справка по нему:
$ innotop -u root -p password
После первого запуска достаточно запускать innotop без указания логина/пароля — утилита попробует подключиться под логином последнего пользователя, и запросит пароль уже после запуска.
Можно запускать также как и top, указав ключ -n количество итераций (--count) и паузу между ними (-d):
$ innotop -n -u root -p password --count 10 -d 1
Если вы хотите подключиться не к локальному, а к удалённому серверу, используйте ключ -h:
$ innotop -u root -p password -h server.com Uptime MaxSQL ReplLag Cxns Lock QPS QPS Run Run Tbls Repl SQL 10m 5 0 30.75 _-_____.^- __________ 32 Off 1
Обозначение колонок:
Uptime - время с момента запуска MySQL-сервера
MaxSQL- время выполнения самого «длинного» запроса, кроме системных и репликации
ReplLag - отставание по репликации
Cxns - общее количество подключений к серверу
Lock - количество запросов в состояние блокировки
QPS - количество запросов в секунду
Run - количество текущих запросов к серверу
Tbls - количество открытых таблиц
Repl - состояние репликации
SQL - самый «долгий» запрос
Переключение режимов (shift+буква):
A — Общий вид;
I — Информация о InnoDB I/O
Q — Список текущих запросов
B — Информация о InnoDB буферах
K — Ожидающие блокировки InnoDB
R — Операции со строками InnoDB
C — Общая статистика по запросам
L — Блокировки
S — Variables & Status
D — InnoDB Deadlocks
M — Статус репликации
T — InnoDB Txns
F — InnoDB FK Err
O — Открытые таблицы
U — Пользователи
Действия:
d — Изменить частоту обновление информации (в секундах)
p — пауза
i — переключиться в инкрементальный режим
q — выход
n — переключиться к следующему соединию
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
- 2334 просмотра