Mysql Отстаёт реплика Percona 5.7

newARTix

Новичок
Столкнулся с такой проблемой. Есть простейшая репликация master - slave, на двух серверах стоящих у разных хостеров. Связь между хостерами нормальная, гигабайт за 15 секунд перелетает. Объём реплицируемых данных, судя по бинлогу, около 2 гигабайт в сутки. Обычно всё работает штатно.
Однако, бывают моменты, когда делается несколько операций по изменению схемы, добавлению / удалению таблиц, реплика начинает жёстко отставать. Second_Behind_Master вырастает до часа, и больше. Именно накапливается, а потом потихоньку уменьшается.
Уточню, что под репликой около 100 баз данных, по 50 таблиц в каждой. А лаги начинаются, когда добавляешь ещё базу или изменяешь несколько таблиц в одной из них.
Куда копать?
 

newARTix

Новичок
Спасибо за slave_parallel_workers. Не использовали эту возможность вообще. У нас используется binlog ROW, и видимо слейв упирался таки в диск, потому, что innodb по-дефолту был задушен по памяти. Сейчас добавили ему памяти. Позже отпишусь по результатам.
 

fixxxer

К.О.
Партнер клуба
Если часто происходят массовые изменения, когда один запрос порождает множество изменений данных и соответственно множество записей в бинлоге, - логично, что начнет тупить.
Если slave_parallel_workers недостаточно поможет, можно перейти на mixed binlog-и. Хотя это тот еще костыль.
 

rukhem

Новичок
Постарайтесь остаться на "ROW" - этот вариант еще более менее дает консистентность базы.
statmanet - нет. mixed это вообще лотерея :)
 

fixxxer

К.О.
Партнер клуба
В последних версиях мыскля вроде все дырки заткнули в mixed-е.
В целом, да, лотерея. Но бывает, что другого выхода и нет.
 

newARTix

Новичок
В итоге, видимо slave_parallel_workers помог. Хотя там влияние оказали множество факторов, в том числе за пределами mysql. Так как я не сисадмин, то большая часть действий были методом научного тыка. Поэтому осмысленного решения не получилось. Пока работает и ладно.
 
Сверху