Сталкивался ли кто-нибудь с проблемой, когда включен медленный журнал со следующими параметрами:
root@(none)> show global variables like "%slow_query%";
+-----------------------------------+-------------------------------+
| Variable_name | Value |
+-----------------------------------+-------------------------------+
| slow_query_log | ON |
| slow_query_log_always_write_time | 10.000000 |
| slow_query_log_file | /var/log/mysql/mysql-slow.log |
| slow_query_log_use_global_control | |
+-----------------------------------+-------------------------------+
4 rows in set (0.00 sec)
У меня возникла странная проблема, когда файл журнала медленной загрузки снова и снова засоряется одной и той же информацией, без единого запроса журнала медленной загрузки:
Time Id Command Argument
/usr/sbin/mysqld, Version: 8.0.25-15 (Percona Server (GPL), Release '15', Revision 'a558ec2'). started with:
Tcp port: 3306 Unix socket: /var/run/mysqld/mysqld.sock
Эти три строки спамят постоянно, около 100 килобайт в секунду. Мало того, из-за этого репликация отставала, секунды от master постоянно росли. Я заметил странное использование дисков ОС (MySQL datadir находится на другом массиве), где находится каталог /var/log/mysql, полагаю, он сбрасывал на диск каждое из этих бесполезных сообщений. Как только я отключил slow_query_log, SBM начал очень быстро падать и не имеет проблем с поддержанием.
Может быть, я столкнулся с ошибкой в Percona MySQL, и нигде не могу найти об этом никаких упоминаний?
решение1
Рассмотрите возможность добавления в my.cnf или my.ini следующего:
min_examined_row_limit=1
чтобы избежать бесполезной болтовни в журнале медленных запросов.
решение2
Возможно, у вас нет запросов, обработка которых занимает более 10 секунд?
Вероятно, long_query_time
все еще по умолчанию 10 (секунд). Это в основном бесполезно высокое значение; уменьшите его, скажем, до 1.
Что-то происходит FLUSH LOGS
? Проверьте задания cron. Это на вашем собственном сайте или в каком-то облаке? Они могут быть причиной.