Mytop – это консольный (не-gui) инструмент, который отображает информацию о производительности сервера MySQL, например «top».
Он будет подключаться к серверу MySQL и периодически запускать команды SHOW PROCESSLISTand SHOW STATUS и пытаться обобщить информацию из них в полезном формате, это было вдохновлено верхним элементом инструмента мониторинга системы.
Экран дисплея Mytop разделен на две части.
MySQL-сервер, называемый заголовком (верхние 6 строк) и второй список активных потоков, работающих в настоящее время в MySQL.
Первая строка идентифицирует имя хоста сервера (localhost) и запущенную версию MySQL.
Правая сторона показывает время работы сервера MySQL в формате days + hours: minutes: seconds, а также текущее время.
MySQL on localhost (5.5.55-cll) up 6+10:17:54 [20:28:40]
Вторая строка отображает общее количество запросов, обработанных сервером, среднее количество запросов в секунду, среднее число медленных запросов в секунду и процент запросов SELECT, INSERT, UPDATE и DELETE.
Queries: 29.8M qps: 56 Slow: 26.0 Se/In/Up/De(%): 89/00/01/00
Третья строка отображает среднее число запросов в секунду в реальном времени, среднее число медленных запросов в секунду в реальном времени, а alos – активные и кэшированные потоки.
qps now: 66 Slow qps: 0.0 Threads: 2 ( 1/ 0) 89/01/00/00
Четвертая строка отображает процент эффективности буфера для буфера, средний уровень входящего буфера и исходящий буфер в байтах, таким образом отображая одну и ту же информацию в режиме реального времени.
Key Efficiency: 100.0% Bps in/out: 7.1k/272.0k Now in/out: 8.9k/305.5k
Вторая часть отображает список активного потока (идентификатор потока, имя пользователя, хост, имя базы данных, количество секунд бездействия, имя исполняемой команды и информация запроса).
По умолчанию они сортируются в соответствии с их временем простоя (по крайней мере, в режиме ожидания).
Id User Host/IP DB Time Cmd Query or State -- ---- ------- -- ---- --- ---------- 742360 root localhost mysql 0 Query show full processlist 742368 cphulkd localhost cphulkd 4 Sleep
Как установить Mytop в Linux
Mytop доступен в репозиториях большинства основных дистрибутивов. Поэтому, чтобы установить его, используйте диспетчер пакетов распространения.
Для систем на базе Debian используйте apt-get или менеджер пакетов apt для установки mytop.
$ sudo apt-get install mytop
Для систем на основе RHEL / CentOS включите репозиторий EPEL, чтобы установить Mytop и использовать диспетчер пакетов yum.
$ sudo yum install mytop
Для системы Fedora используйте диспетчер пакетов dnf для установки mytop.
$ sudo dnf install mytop
Для системы openSUSE используйте диспетчер пакетов zypper для установки mytop.
$ sudo zypper in mytop
Для систем на базе Arch Linux используйте диспетчер пакетов pacman для установки mytop.
$ sudo pacman -S mytop
Как настроить mytop
Создайте настроенный файл конфигурации /root/.mytop, чтобы использовать Mytop.
См. Образец файла конфигурации.
$ sudo nano /root/.mytop host=localhost db=mysql delay=5 port=3306 socket= batchmode=0 header=1 color=1 idle=1
Как использовать Mytop в Linux
Просто запустите команду mytop самостоятельно без какой-либо опции, вы хотите получить скриншот, как показано ниже.
# mytop MySQL on localhost (5.5.55-cll) up 6+10:52:09 [21:02:55] Queries: 29.9M qps: 56 Slow: 26.0 Se/In/Up/De(%): 89/00/01/00 qps now: 9 Slow qps: 0.0 Threads: 4 ( 1/ 0) 66/02/00/00 Key Efficiency: 100.0% Bps in/out: 7.1k/271.7k Now in/out: 826.8/201.1k Id User Host/IP DB Time Cmd Query or State -- ---- ------- -- ---- --- ---------- 743938 root localhost mysql 0 Query show full processlist 744404 daygeekc_ localhost daygeekc_t 0 Sleep 744405 mageshmm_ localhost mageshmm_m 0 Sleep 744406 daygeekc_ localhost daygeekc_t 0 Query SELECT * FROM daygeekc_wp
Выполните следующую команду для подключения и мониторинга только определенной базы данных.
# mytop -d daygeekc_than MySQL on localhost (5.5.55-cll) up 6+11:43:13 [21:53:59] Queries: 30.0M qps: 56 Slow: 26.0 Se/In/Up/De(%): 89/00/01/00 qps now: 61 Slow qps: 0.0 Threads: 1 ( 1/ 0) 89/00/00/00 Key Efficiency: 100.0% Bps in/out: 7.1k/271.2k Now in/out: 8.1k/357.7k Id User Host/IP DB Time Cmd Query or State -- ---- ------- -- ---- --- ---------- 747197 root localhost daygeekc_m 0 Query show full processlist 747199 root localhost daygeekc_m 0 Sleep
В представлении потоков mytop нажмите c, чтобы отобразить «счетчики команд» на основе значений Com_ * в SHOW GLOBAL STATUS.
Command Total Pct | Last Pct ------- ----- --- | ---- --- select 28015620 90% | 1 2% set option 1086765 3% | 1 2% change db 684749 2% | 1 2% show tables 384118 1% | 1 2% update 369023 1% | 1 2% show fields 125676 0% | 1 2% insert 85198 0% | 1 2% delete 62374 0% | 1 2% stmt execute 12991 0% | 1 2% stmt prepare 12991 0% | 1 2% stmt close 12991 0% | 1 2% empty query 5447 0% | 1 2% show processlist 3467 0% | 1 2% show status 1586 0% | 1 2%
В представлении потоков mytop нажмите, чтобы отобразить весь запрос, в котором поток (и все еще может быть) запущен.
Full query for which thread id: 744406
Введите идентификатор потока для запроса, который вы хотите просмотреть.
В нашем случае поток id 744406.
Thread 751271 was executing following query: SELECT * FROM daygeekc_wp WHERE ... -- paused. press any key to resume or (e) to explain --
Чтобы просмотреть подробную информацию об указанном идентификаторе нажмите e.
EXPLAIN SELECT * FROM dept_emp: *** row 1 *** table: daygeekc_wp type: ALL possible_keys: NULL key: NULL key_len: NULL ref: NULL rows: 50000 Extra: NULL -- paused. press any key to resume --
Чтобы узнать больше о Mytop, нажмите? для вывода вида опций.
Help for mytop version 1.7 by Jeremy D. Zawodny <jeremy@zawodny.com> ? - display this screen # - toggle short/long numbers (not yet implemented) c - command summary view (based on Com_* counters) d - show only a specific database e - explain the query that a thread is running f - show full query info for a given thread F - unFilter the dispaly h - show only a specifc host's connections H - toggle the mytop header i - toggle the display of idle (sleeping) threads I - show innodb status k - kill a thread p - pause the display m - switch [mode] to qps (queries/sec) scrolling view o - reverse the sort order (toggle) q - quit r - reset the status counters (via FLUSH STATUS on your server) s - change the delay between screen updates t - switch to thread view (default) u - show only a specific user : - enter a command (not yet implemented) http://jeremy.zawodny.com/mysql/mytop/</jeremy@zawodny.com>