8.2.12. Статистика використання ресурсів MySQL

Увага!

Якщо дисковий простір зайнятий на 100% протягом 3 днів поспіль, для інстансу автоматично буде підвищено тариф. Перед цим, при досягненні 95% і 100%, на пошту та у підключені месенджери надсилаються відповідні сповіщення.

Статистика використання ресурсів доступна в розділі «MySQL» на вкладці «Статистика»:

За допомогою статистики можна стежити за навантаженням на інстанс і визначити момент, коли необхідно зайнятися оптимізацією баз даних, запитів до них, підвищувати тариф або налаштовувати реплікацію.

Для перегляду списку активних процесів натисніть «Process list».

У списку виводяться активні процеси всіх користувачів усіх баз даних інстансу:

Запити, які виконуються 10 секунд або більше, підсвічуються червоним, 1 секунду або більше — жовтим. Кнопка ❌ примусово завершує запит.

Повільними вважаються запити, які виконуються понад 5 секунд. Система автоматично фіксує такі запити в лог, щоб їх можна було проаналізувати.

Кнопка «Повільні запити» відкриває меню, де можна:

  • Завантажити лог у форматі CSV.
  • Очистити лог.

Велика кількість повільних запитів може негативно впливати на роботу сайтів, які використовують бази даних інстансу, і сигналізувати про те, що варто замислитися про можливість оптимізації бази даних, запитів до неї або логіки роботи скриптів сайту.

Кнопка «InnoDB» виводить вікно з результатами запиту SHOW INNODB STATUS — основні дані у вигляді таблиці та весь текст результату запиту:

Кнопка «Variables» виводить вікно зі списком усіх глобальних змінних та їхніх значень:

Біля кожної змінної доступне посилання на офіційну документацію з докладним описом.

Кнопка «Status» виводить вікно з результатами запиту SHOW STATUS — списком змінних стану сервера MySQL та їх значень (див. офіційну документацію):

Біля кожної змінної доступне посилання на офіційну документацію з докладним описом.

Увага!

Для збору та перегляду статистики в налаштуваннях MySQL має бути увімкнена опція «performance_schema».

Перегляд статистики виконання запитів працює на основі MySQL Performance Schema і дозволяє переглядати по всіх базах даних або по вибраній базі даних наступну інформацію:

  • Популярні таблиці — список таблиць з кількістю запитів і статистикою часу очікування по кожній з них.
  • Списки запитів за різними критеріями з докладною інформацією по кожному з них (кількість, середній час виконання, кількість просканованих рядків, кількість відправлених рядків, максимальне споживання пам'яті, інтервал виконання, шаблон і приклад запиту):
    • Популярні запити.
    • Запити з найбільшою зміною рядів.
    • Запити з найбільшою кількістю відправлених рядків.
    • Запити, що створюють тимчасові таблиці.
    • Запити з повним скануванням діапазону.
    • Запити з найбільшим споживанням пам'яті.
    • Запити за часом виконання.
    • Запити з найбільшим скануванням рядів.
    • Запити, що створюють тимчасові таблиці на диску.
    • Запити, що сканують всю таблицю для JOIN.
    • Запити без використання індексу.
  • Популярні тригери — інформація про тригери.

Приклад статистики популярних таблиць:

Приклад статистики популярних запитів:

Статистика відображається у вигляді діаграм із даними за останній тиждень:

  • Використання оперативної пам'яті:
    • Загальне споживання пам'яті — сума RSS і SHMEM.
    • Кешовані файли (CACHE) — кеш файлової системи.
    • Пам'ять (RSS) — обсяг пам'яті Resident Set Size, який зайнятий процесом.
    • Загальна пам'ять (SHMEM) — пам'ять Shared memory, яка доступна різним процесам.
  • Використання CPU — відсоток завантаження одного ядра, що дорівнює 100, означає використання 1 ядра на 100%, 200 — 2 ядер тощо.
  • Використання дискового простору — скільки дискового простору займають дані інстансу.
    • У разі використання 100% протягом 3 днів поспіль для інстансу автоматично буде підвищено тариф.
Зміст