Знакомая ситуация: производительность вашего веб-сайта на MySQL внезапно падает, и вы не знаете, почему это происходит.
Вероятно, причина кроется в неоптимизированных запросах. Чтобы их обнаружить, достаточно включить запись медленных запросов MySQL.
Для активации записи медленных запросов необходимо открыть конфигурационный файл MySQL my.cnf
:
sudo nano /etc/mysql/my.cnf
и раскомментировать/добавить следующие строки:
slow-query-log = 1
slow-query-log-file = /var/log/mysql/mysql-slow.log
long_query_time = 3
log-queries-not-using-indexes = 1
- В опции
slow_query_log
указывается путь к файлу, в котором будут сохраняться записи запросов - В опции
long_query_time
указывается минимальное время выполнения запроса, после которого он считается медленным (в секундах)
После этого необходимо перезапустить сервер MySQL:
service mysql restart
Теперь медленные запросы будут записываться в файл /var/log/mysql/mysql-slow.log
и можно следить за ними в режиме реального времени с помощью утилиты tail
:
tail -f /var/log/mysql/mysql-slow.log
Это все, что вы должны сделать, чтобы включить лог медленных запросов в MySQL.