Задать вопрос

Как можно посчитать задержку репликации master-slave. postgres 9.2.7?

Как можно посчитать задержку репликации master-slave в postgres?
Величину лага я получаю, но эта величина достаточно абстрактна, хотелось бы получить именно время задержки.
  • Вопрос задан
  • 4383 просмотра
Подписаться 6 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
lesovsky
@lesovsky
System engineer and PostgreSQL DBA
select now() - pg_last_xact_replay_timestamp();
запустите на стендбaе через psql, получите лаг в секундах.
Ответ написан
@inkvizitor68sl
Linux-сисадмин с 8 летним стажем.
Мхм. Есть один универсальный способ для всех баз.
В отдельную таблицу на мастере каждую секунду-пять-десять (в зависимости от нужной погрешности и нагрузки) писать текущее время. А на реплике проверять, насколько эта таблица отстаёт от реального времени.
Ответ написан
Комментировать
@Timosha
я измеряю лаг в мегабайтах примерно так:
SELECT pg_xlog_location_diff(pg_last_xlog_receive_location(), pg_last_xlog_replay_location()) as bytes_lag
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы