В якості бази даних MySQL досить часто використовується на багатьох сайтах. Великий потік користувачів може породжувати значну навантаження на сервер баз даних і не тільки. Взагалі MySQL за своєю суттю не дуже справляється з великим потоком запитів як такої без додаткових засобів кешування та інших механізмів оптимізацій. Взагалі цієї теми з приводу великого трафіку на ресурс з високими навантаженнями існує окрема тема, яка так і називається hightload. Тема дуже цікава, і включає в себе колосальну кількість концепцій і технологій, люди які займаються цими справами, як правило, вже підковані в цій справі, оскільки ця галузь вимагає навичок досить високого рівня.

Не будемо далеко відходити від теми даного посту, і тут я б хотів розповісти про одну цікавої та корисної утиліти під назвою Mytop. В Unix системах є утиліта top, яка відображає список запущених процесів у вигляді таблиці, а так само витрачаються ресурси. Подібно утиліті top для MySQL є mytop, яка дозволяє переглядати всі звернення до MySQL сервера в режимі реального часу. Досить зручно і просто, особливо коли є необхідність дізнатися, що взагалі відбувається на даний момент з сервером MySQL.
Зрозуміло, перед її використанням, її потрібно встановити. В якості сервера я використовую Linux CentOS, для систем з інших гілок команди установки можуть трохи інакше, вважаю, буде розібратися не складно.

Установка mytop на CentOS:

# yum install –y mytop

Після того як утиліта була успішно встановлена, саме час випробувати її.

Запуск mytop:

# mytop -u користувач -p пароль -d база_даних

Для запуску утиліти mytop вам знадобиться вказати обліковий запис mysql, пароль, а так само ім’я бази даних.
Для зручності використання дані облікового запису можна прописати у файлі конфігурації ~/.mytop. Файл з ім’ям .mytop слід створити в домашній директорії користувача, зробити це можна за допомогою стандартного в системі редактора vi.

Створюємо файл .mytop:

# vi ~/.mytop

Параметри у файлі конфігурації .mytop:

user=root # користувач
pass= # пароль
host=localhost # вузол
db=test # ім’я бази
delay=5 # час оновлення результатів
port=3306 # порт MySQL
socket= # при необхідності роботи через сокет
batchmode=0 # очистка екрану, дозволяє вибудовувати всі запити MySQL в ряд
header=1 # відображати дані в заголовку
color=1 # показ в кольоровому режимі
idle=1 # показувати простоюють процеси в списку

Зверніть увагу.
Коментарі зі знаком # вказані для пояснення, в конфігураційному файлі їх бути не повинно, оскільки буде виникати помилка при запуску.

Після запуску утиліти на екрані з’явиться така таблиця:

Давайте коротко розглянемо, що до чого. Найперша рядок позначає ім’я сервера (ім’я локального хоста), а так само в дужках вказана версія сервера MySQL. У правому куті вказується час, який працює MySQL без перезапуску, формат: «дні + години : хвилини : секунди», після чого в квадратних дужках вказується час системі. Другий рядок вказує на кількість MySQL запитів за період безперервної роботи сервера, інформацію про повільних запитах, а так само середнє число запитів в секунду, дані про потоки. Рядок Key Efficiency позначає ефективність буфера ключів, іншими словами як часто сервер використовує ключі в буфері, не звертаючись при цьому до диска. У цьому ж рядку вказується середнє число обсягу даних відправлених та отриманих сервером, а так само обсяг даних, що пересилаються в даний момент.

Далі йде таблиця з даними про активних потоках, у тому числі про роботу mytop. Поля таблиці:
Id — ідентифікатор потоку;
User — ім’я користувача;
Host/Ip – вузол;
DB – ім’я бази даних;
Time — час виконання;
Cmd – команда;
Query or State – поточний запит, або стан.

Для кращої видимості запускати програму рекомендується в терміналі ширше звичайних 80 символів. Утиліта mytop так само має набір команд, якими ви можете скористатися в разі потреби. Для відображення довідки по командам натисніть клавіші shift + ?», в результаті буде показано список команд, а так само їх призначення.

Наприклад, щоб вибрати конкретний вузол або базу даних натисніть «h» або «d» відповідно. Для фільтрації за користувачам можна використовувати клавішу «u». Скидання фільтрації здійснюється командою клавіші Shift+f» (заголовна F). Дізнатися додаткову інформацію по обраному потоку можна за допомогою клавіші «f». За допомогою клавіші «k» можна завершити потік.
Утиліта mytop може працювати в пакетному режимі, це означає, що ви можете використовувати mytop у своїх скриптах. Щоб запустити утиліту в пакетному режимі слід використовувати ключ –b при запуску. При виклику в пакетному режимі утиліта mytop виводить таблицю в повному вигляді, після чого завершує свою роботу. Про те, як можна використовувати ці дані вже вирішувати вам залишається. Утиліта mytop може запускатися практично на всіх популярних системах сімейства Unix. На цьому, мабуть, зупинимося, бажаю успіхів у праці!

Додав: htmaker, 31.10.2015 р.
(1 голосів, середній: 5,00 з 5)

Завантаження…

Діліться з друзями:

См. також:


Оновлення пакетів в CentOS
Рубрика: Linux

Bash: mail: command not found
Рубрика: Linux

Виставляємо тимчасову зону в CentOS 7
Рубрика: Linux

Налаштування SELinux, включення, відключення
Рубрика: Linux, Інф. безпека

Змінюємо пароль root в MySQL 5.7
Рубрика: Linux, MySQL

Установка і настройка mSMTP на Linux
Рубрика: Linux

Установка GIT на CentOS 7
Рубрика: Linux

Як відключити IPv6 в CentOS 7?
Рубрика: Linux

Ротація логів в Linux
Рубрика: Apache, Linux