|
Как определить отставание слейва от мастера при репликации
|
|||
---|---|---|---|
#18+
Добрый день. Есть мастер, есть слейв, между ними настроена репликация. Можно как-то по данным из pg_stat_replications определить на сколько слейв отстает от мастера по времени? Можно ли по номера транзакций из pg_stat_replications узнать время, когда они были зафиксированы на мастере? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2017, 10:57 |
|
Как определить отставание слейва от мастера при репликации
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2017, 11:16 |
|
Как определить отставание слейва от мастера при репликации
|
|||
---|---|---|---|
#18+
Спасибо, не заметил ) У меня на слейве pg_last_xact_replay_timestamp() ничего не выводит: Код: sql 1. 2.
при этом судя по выводу ps процесс восстановления WAL файлов идет. Код: sql 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2017, 12:16 |
|
Как определить отставание слейва от мастера при репликации
|
|||
---|---|---|---|
#18+
pmb17, А у вас на мастере пишущие транзакции есть? Так как это именно время проигрывания последней ПИШУЩЕЙ транзакции с мастера, и если мастер ничего не делает - то и показывать нечего. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2017, 13:43 |
|
Как определить отставание слейва от мастера при репликации
|
|||
---|---|---|---|
#18+
Да есть, сервер рабочий. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2017, 13:52 |
|
Как определить отставание слейва от мастера при репликации
|
|||
---|---|---|---|
#18+
Вообщем не совсем адекватный алгоритм работы этой функции. Перезапустил слейв, и примерно в течении часа pg_last_xact_replay_timestamp() ничего не возвращал. Потом вернул дату и время, но в течении для эта дата и время очень медленно менялись. И если пользоваться выражением: select now() - pg_last_xact_replay_timestamp() то разрыв только увеличивается, хотя на мастере размер pg_xlog начал уменьшаться. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2017, 17:21 |
|
Как определить отставание слейва от мастера при репликации
|
|||
---|---|---|---|
#18+
pmb17, Функция работает адекватно. Другой вопрос — что у вас с репликацией происходит. И почему?.. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2017, 19:01 |
|
Как определить отставание слейва от мастера при репликации
|
|||
---|---|---|---|
#18+
Слейв отстал от мастера на 3 дня, если судить по датам WAL мастера в каталоге pg_xlog. Размер pg_xlog стал в два раза больше чем размер базы данных. Вчера начали разбираться в причине - оказалось не хватает скорости VPN канала между серверами. Скорость увеличили, за вчерашний день слейв догнал мастера. Описываемое поведение pg_last_xact_replay_timestamp() было вчера, когда увеличили пропускную способность VPN соединения. Есть еще вопрос по теме репликации. На мастере периодически выполняется реиндексация. Если я правильно понимаю, во время работы реиндексации все изменения фиксируются в WAL и потом уходят на слейв. Но по факту эта операция не изменяет самих данных в БД. Можно что-то сделать чтобы результат реиндексации не попадал в данные для реплицирования? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2017, 10:40 |
|
Как определить отставание слейва от мастера при репликации
|
|||
---|---|---|---|
#18+
pmb17, судя по именам каталогов, у вас не 10. тогда можете использовать hash индексы. они до 10-тки не wal'ятся. правда, какой толк тогда от реплики, не понятно. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2017, 10:46 |
|
Как определить отставание слейва от мастера при репликации
|
|||
---|---|---|---|
#18+
pmb17Есть еще вопрос по теме репликации. На мастере периодически выполняется реиндексация. Если я правильно понимаю, во время работы реиндексации все изменения фиксируются в WAL и потом уходят на слейв. Но по факту эта операция не изменяет самих данных в БД. Можно что-то сделать чтобы результат реиндексации не попадал в данные для реплицирования? Нельзя. Все варианты с отключением WAL-ов на мастере (а-ля UNLOGGED) сделают объекты недоступными на реплике. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2017, 11:52 |
|
Как определить отставание слейва от мастера при репликации
|
|||
---|---|---|---|
#18+
Lonepsychopmb17, судя по именам каталогов, у вас не 10. тогда можете использовать hash индексы. они до 10-тки не wal'ятся. правда, какой толк тогда от реплики, не понятно. у нас работой с БД управляет приложение, индексы изменить не сможем. Смысл - нужна точная копия БД, возможно без индексов. Кажется в 10 сделали выборочную репликацию таблиц, возможно это то что нам нужно. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2017, 14:06 |
|
Как определить отставание слейва от мастера при репликации
|
|||
---|---|---|---|
#18+
pmb17, "возможно без" это уже не "точная копия". как варианты, можете посмотреть pglogical или slony . ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2017, 14:25 |
|
Как определить отставание слейва от мастера при репликации
|
|||
---|---|---|---|
#18+
pmb17Смысл - нужна точная копия БД, возможно без индексов. Вы уж решите или точная копия или без индексов :). Это противоположные требования. PS: периодический reindex идея изрядно неудачная лучше разобраться надо ли это и зачем. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2017, 15:21 |
|
Как определить отставание слейва от мастера при репликации
|
|||
---|---|---|---|
#18+
Maxim BogukPS: периодический reindex идея изрядно неудачная лучше разобраться надо ли это и зачем. Разбираться наверное с реиндексированием будем но позже. А что неудачного в идее периодического reindex? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2017, 17:27 |
|
|
start [/forum/topic.php?fid=53&gotonew=1&tid=1996107]: |
0ms |
get settings: |
11ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
45ms |
get topic data: |
13ms |
get first new msg: |
7ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
others: | 336ms |
total: | 496ms |
0 / 0 |