GoDaddy Довідка

Ми спробували якнайкраще перекласти цю статтю. Також доступна версія англійською мовою.

Переглядайте повільні запити MySQL

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

Аналіз журналу

Розташування журналу:
/var/log/slow-queries.log
ПРИМІТКА. Якщо ви не знайдете журнал у цьому розташуванні, перевірте запис у файлі my.cnf та перезапустіть MySQL після внесення змін.
Формат:
# Time: 210905 6:33:11 # User @ Host: dbuser [dbname] @ hostname [1.2.3.4] # Query_time: 12.116250 Lock_time: 0.000035 Rows_sent: 0 Rows_examined: 201565 use dbname; МЕТКА часу SET = 1409898791; ... ПОВІЛЬНІ ЗАПИТИ ТУТ ...

Журнал може бути величезним, якщо ви маєте десятки, якщо не сотні записів у наведеному вище форматі. Щоб зробити журнал зручнішим для читання, використовуйте mysqldumpslow для аналізу журналу.

mysqldumpslow -r -a /var/log/mysql/mysqld.slow.log
Результат буде містити важливу інформацію, таку як час , рядки та запит .
Count: 2 Time = 20.54s (41s) Lock = 0.02s (0s) Rows = 12547802 (0), dbuser [dbuser] @localhost SELECT * FROM db_exp_table WHERE site_user_id = '214380' ORDER BY site_id DESC LIMIT 0,2 Count: 1 Time = 21.74s (21s) Lock = 0.01s (0s) Rows = 12547802 (0), dbuser [dbuser] @localhost SELECT * FROM db_exp_table WHERE site_user_id = '214380' ORDER BY site_id DESC LIMIT 0,2 Count: 1 Time = 23,86 с (23 с) Блокування = 0,20 с (0 с) Рядки = 12547802 (0), dbuser [dbuser] @localhost SELECT * FROM db_exp_table WHERE site_user_id = '214380' ORDER BY site_id DESC LIMIT 0,2

Розглядаючи приклад вище, ми маємо 1 запит, на виконання якого потрібно 20-24 секунди. Це може спричинити проблеми з вашим сайтом: від повільного завантаження до помилок тайм-ауту (нескінченного віджиму). Запит перевіряє 12 547 802 рядків. Великий запит (наприклад, select *), який виконується в таблиці з понад 12 мільйонами рядків, може призвести до поганої взаємодії з користувачем. Оптимізація запиту (наприклад, вибір «журнальних столиків») або зменшення кількості рядків (тобто архівування старих даних) прискорить запит.

Якщо файл журналу великий, запустіть mysqldumpslow і збережіть вихідні дані у файлі. Це полегшить перегляд за допомогою інших засобів обробки файлів, таких як grep або find .

mysqldumpslow -r -a /var/log/slow-queries.log > slow.log.parsed

Наступні кроки

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

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

Послуги хостингу GoDaddy

Наші спеціалісти з серверів можуть увімкнути або вимкнути повільне реєстрацію запитів MySQL та оптимізувати MySQL. Щоб дізнатися більше про цю послугу, допоможуть наші експерти GoDaddy .

Додаткові відомості

Докладніше про послуги хостингу, які пропонує GoDaddy, див. У статтіМеню послуг хостингу .