Length неконтролируемо росла. Нашёл статью https://www.percona.com/blog/2014/10/17/innodb-transaction-history-often-hides-dangerous-debt/
Попробовали выставить
purge_threads 32
innodb_max_purge_lag 1000000
innodb_max_purge_lag_delay 0
innodb_purge_batch_size 3200
в данный момент периодически наблюдаю такую картину: история растёт до ~1.6М, всё это время в списке транзакций в innotop наблюдаются повисшие по 40-50 минут инсерты. Как только инсерты оттуда уходят, в несколько итераций история транзакций уходит в район 20-40 тысяч. Дальше около 40 минут происходит нормальная работа, после чего история снова начинает расти, purge thread, судя по графане, отрабатывает раз в минуту, сбрасывая по 800 страниц, и QPS падает на 50-70%. Правильно ли я понимаю, что в такой ситуации надо пробовать увеличивать "на горячую" purge_lag_delay?
подозреваю, что причина -- висящие по 40-50 минут инсерты, а purge lag -- это следствие. эти инсерты они вообще на чём висят?
Обсуждают сегодня