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

Еще вопрос, не могу сейчас найти информацию, но помню что

опытный dba говорил, что постгрес не любит когда на мастер идет только пишущая нагрзука а с реплик чтение. Кажется это как-то связано с передачей статистики и некорректного построение планов на репликах из-за этого. Подскажите пожалуйста можно ли об это где-то почитать?

6 ответов

10 просмотров

Не очень похожэ на правду. Я, правда, так непомню, когда там analyze запускается... Но по-моему это зависит в первую очередь от объёмов записи. И есть нюансы, что чтение страниц можэт дёрнуть полу-вакуум такой на страницэ... Разгрузив чуть-чуть реальный автовакуум... Но запись-то тожэ в среднем страницы читает, да и нагрузка с этого чтения всё равно идёт. В общем, я такого не наблюдал, и это не выглядит очень вероятным. В частности -- занимайтесь нагрузочным тэстированием, и вам будет всё равно, бывает такое или нет -- поскольку результаты покажут, справится ли ваша система с вашэй нагрузкой, и какая вам разница на весь остальной мир.

Vadim- Автор вопроса
Ilya Anfimov
Не очень похожэ на правду. Я, правда, так непомню...

Спасибо за ответ, просто это нам говорили классные разрабы из postgresPro, а сейчас нет возможности уточнить))) Попроробую еще поискать если найду что-то поделюсь))

Плохо сочетается OLTP нагрузка на мастере и отчетное чтение с долгими (минуты и дольше, но в целом будет зависеть от того насколько интенсивная у вас запись на мастере) запросами на реплике. Для того чтобы гарантировать что долгий запрос на реплике завершится, а не отлетит due to conflict with recovery - нужно включать hot_standby_feedback. Это параметр будет передавать на мастер данные раньше какого xid'а ещё нельзя удалять. В итоге при интенсивной записи на мастере, и долгих запросах на реплике получаем постоянно откладываемый автовакуум на мастере, и как следствие bloat таблиц, и деградация производительности.

Ilya Serbin
Плохо сочетается OLTP нагрузка на мастере и отчетн...

>нужно включать hot_standby_feedback. И получить все те жэ проблемы на ведущем, что и при просто долгих запросах на нём... (Этот параметр не просто так не включен по дефолту.)

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

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

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта