172 похожих чатов

Всем доброго дня. Подскажите, пожалуйста, у меня в коннектах висят

"COMMIT" в статусе "active", а как узнать что было до вызова commit ?

41 ответов

39 просмотров

В логи посмотреть. Если включен какой-то log_statment или auto_explain... А так — это по дефолту никуда не записывается.

Синхронная репликацыя что ли встала?

Ilya Anfimov
Синхронная репликацыя что ли встала?

да вот не понимаю, мне приходит этот коммит и синх реплика схватывает replay_lag Хотя уже настроил, synchronous_commit = remote_apply (был просто On )

Марсель Габдрахманов
физическая.

Хм. МНОГО удалений таблиц/сужэний их сегментов? Или одна удаляется, но на тысячи сегментов?

Марсель Габдрахманов
физическая.

А, слушай, туплю что-то replay_lag — на ведомом смотришь? Тут да, есть какие-то шансы, что если COMMIT ужэ одобрен, но долго что-то делает — то WAL дальшэ не идут, ведомый не видит WAL и ты на нём видишь lag.

Ilya Anfimov
Хм. МНОГО удалений таблиц/сужэний их сегментов? И...

удалений нет, если и есть то одна запись раз в час. приблизительно такая концепция: select * where id in (1, 2, 3) lock for update update field1 = value1, ... where id = 1 update field2 = value2, ... where id = 2 update field3 = value3, ... where id = 3 insert into another_table update another_table2 commit

Ilya Anfimov
А, слушай, туплю что-то replay_lag — на ведомом см...

я на мастере вызываю select * from pg_catalog.pg_stat_replication PG 15.4

Марсель Габдрахманов
физическая.

Кстати, подумалось — сужэния сегментов не в момент COMMIT делаются, так что это не оно. Но удаления таблиц — могут быть...

Марсель Габдрахманов
удаления таблиц точно нет.

Сегментов таблиц? Индэексов? Реиндэксацыя? vacuum full?

А вообще — strace на него, и смотреть, над чем задумался.

Ilya Anfimov
А вообще — strace на него, и смотреть, над чем зад...

strace на "головной процесс ПГ" или на walreceiver ?

Ilya Anfimov
А вообще — strace на него, и смотреть, над чем зад...

commit waiting for wal/log коммиты ждут принятия вала на реплике видимо.

Марсель Габдрахманов
strace на "головной процесс ПГ" или на walreceiver...

Да на всех по очереди. Я бы для начала выяснил — какого чёрта COMMIT висит в active, а не переходит в idle почти мгновенно.

Ilya Anfimov
А, слушай, туплю что-то replay_lag — на ведомом см...

видимо что-то типа того, о чём я три недели назад писал? ну, когда реплика теряла мастер, а после восстановления коннекта не забирала WAL'ы, пока с уже имевшимися replay не доделала...

Phil Chertiev
видимо что-то типа того, о чём я три недели назад ...

Вряд ли. У него-то наборот synchronous = ... apply, так что неприменённых WAL не можэт быть много.

Марсель Габдрахманов
хороший, вопрос.

Слушай, а там на ведомом нет max_standby_streaming_delay ? Если есть, и нет (или протух по max_что-то там) hot_standby_feedback — то понятно, ведущий ждёт ведомого, ведомый получил WAL, который при apply помешает одной из его транзакцый — и ждёт, пока эта транзакцыя завершытся.

Марсель Габдрахманов
max_standby_streaming_delay = 5 hot_standby_feedb...

Показали бы Вы все поля записи pg_stat_activity для "зависшего" backend, что ли...

Марсель Габдрахманов
он в статусе wait_event - IPC - SyncRep

ждет когда синхранная реплика ответит

Vladimir Barsukov
ждет когда синхранная реплика ответит

это я понял, только я не понимаю что вызывает "Лаг " синх реплики.

Марсель Габдрахманов
да вот не понимаю, мне приходит этот коммит и синх...

synchronous_commit = remote_apply — более жёсткий уровень чем просто on, то есть включив его вы замедлили commit на мастере, а не ускорили

S B
synchronous_commit = remote_apply — более жёсткий ...

да я к этому и пришёл, в режиме ON отставанние реплики доходило до 20-ти часов.

я тоже думал про это, смотрел скорость дисков, разницу, даже менял местами реплику и мастер

Марсель Габдрахманов
я тоже думал про это, смотрел скорость дисков, раз...

ну во вервых должно быть главное правило, если синхронная репликация то должно быть не менее 2х реплик, это даже в доке написано. и поставить режим что бы он ожидал подтверждения от хотя бы от одной

Марсель Габдрахманов
я тоже думал про это, смотрел скорость дисков, раз...

мож там индексов каких-то не хватает, которые есть/работают на мастере, а на реплике нет?

S B
мож там индексов каких-то не хватает, которые есть...

а как, при потоковой репликации, может не работать индекс ? Да и при чем тут индекс, если реплика находится только в лишь наполнении WAL

Марсель Габдрахманов
это если бэкапа нет видимо "Нормального".

Скорее — если высокая доступность сервиса очень важна. Тогда да, тогда аппаратная конфигурацыя должна начинаться с трёх серверов, и на все три должно всё литься, и какое-то управление всем этим нужно (хотя такое). (Но в большынстве случаев, когда людям нужна реплика — это не настолько всё существенно).

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

Обсуждают сегодня

А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
131
Народ, кто шарит в расширенных разделах (EBR/EPR) на дисках с разметками MBR? Везде пишут (в вики рус/англ) в частности + другие источники смотрел, что первый сектор расширенн...
Eugene Krasnikov (ᴊɪɴ x)
1
что насчет пагинга? на осдеве непонятно(
Vi Chapmann 🪙
26
Вопрос я правильно понимаю что в коде newtype ArrowMap k v = ArrowMap { getArrowMap :: k -> Maybe v } getArrowMap есть функция типа k -> Maybe v, если да, то не понимаю задач...
Fedor
64
Ребят, что лучше для реверса: гидра или ида?
En Vind Av Sorg
26
Делаю велосипед логгер. К сообщению хочу прикрутить некоторую информацию, типа, кем отправлено, какой уровень, и всякое такое. И тут подумалось мне, почему бы не хранить весь...
Serjone
24
Как Вы считаете нормально ли в двадцатых годах 21 века в ВУЗах Российской Федерации обучать студентов работе с TASM? Не слишком ли это "архаично"? (Если оффтоп или флейм для э...
Spiker01
52
Всем привет! Использую gitlab-ci. Настроил gitlab-agent для деплоя в куб. При деплое проекта в логах такая ошибка: Executing deploy plan failed to watch "ns:my-project/Ingress...
Konstantin Moiseev
4
Комрады, хотел уточнить. Проперть в OnDestroy юнита-хозяина по-прежнему доступна? И еще уточнение: finalization юнита наступает раньше или позже OnDestroy?
Ed Doc
48
Продолжая диалог про свифт в проде – сейчас возник вопрос в активном наборе бекендеров. В основном в нашей компании мы фанаты Java Spring и полностью ей довольны. Однако найм ...
Guseyn
27
Карта сайта