Slave в репликации не успевает за мастером, если он сильно отстал

MySQL 5.6.13
~200 запросов в секунду
ROW-Based Replication

Если запустить slave со свежим дампом, т.е. когда разница в данных небольшая, он быстро догоняет мастера и дальше всё замечательно.
Если slave остановить на пару дней, а потом снова запустить, то он где-то минуты две очень бодренько начинает нагонять (высокая загрузка процессора, ввод-вывод, всё как положенно). А потом практически засыпает — загрузка процессора 1%, небольшой ввод-вывод, Seconds_Behind_Master очень медленно уменьшается, стоит на месте или даже увеличивается.

По производительности железо slave-а выше, версии софта идентичны. Ошибок в логах нет. Между серверами гигабит.

Куда копать?
  • Вопрос задан
  • 3487 просмотров
Решения вопроса 1
@SamOwaR Автор вопроса
похоже разобрался
проблема в bcache — слил базу на чистый SSD и всё полетело.
очень странно
%iowait остался примерно такой же — 5.4
может у bcache проблемы с многопоточным доступом, т.к. в синтетике всё шоколадно.
в любом случае вопрос закрыт, MySQL не виноват :)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
stavinsky
@stavinsky
1. проверить, точно ли работает репликация. То есть не появилась ли какая-то ошибка SHOW SLAVE STATUS\G в переменной Last_Error
2. Проверить возраст бинари логов на мастере. Возможно они за 2 дня успевают удалиться.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы