Знакомая ситуация: производительность вашего веб-сайта на 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.