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

Всем привет. Помогите разобраться с ситуацией. На проде у нас

резернуты базы мастер с репликой (репликация с использованием wal-g). Всё это крутится в кластере кубернетеса в контейнерах. Всё исправно работает уже несколько лет.
Чтобы разгрузить мастер решили запросы отчетов направлять на реплику. При этом столкнулись с неприятной ситуацией: когда на реплике прогоняется одновременно несколько тяжёлых запросов с длительностью в несколько минут, то начинаем наблюдать ожидающие http запросы к бэкенду, который соответственно обращается к мастеру. В итоге всё приводит к тому, что на nginx заканчиваются коннекшны и по сути приложение встает.
Кто виноват и что делать?

6 ответов

10 просмотров

Причем тут postgres? Соединение с базой идёт не по http

Переделать приложение на асинхронное взаимодействие.

Денис-Нибаев Автор вопроса
central hardware
Переделать приложение на асинхронное взаимодействи...

А ведь хороший был комментарий. Сейчас и не могу припомнить состояние запросов на мастер. Надо понаблюдать

1. выясните что за запросы почему их так много и почему долго выполняются (через pg_stat_activity). если там блокировки то старайтесь их устранить (рефакторинг приложения), если запросы долго выполняются, проверяйте их планы (через EXPLAIN) и оптимизируйте либо индексами либо рефакторингом запросов 2. проверьте что не упираетесь в лимит max_connections в постгресе

Денис Нибаев
А ведь хороший был комментарий. Сейчас и не могу п...

А что значит репликация с использованием wal-g? Разве wal-g не для бэкапа? Может у вас там синхронная реплика ещё настроена и при нагрузке на последнюю начинают тормозить коммиты на мастере из-за того, что реплика не успевает проиграть wal-ы?

Денис-Нибаев Автор вопроса
Radist
А что значит репликация с использованием wal-g? Ра...

Получается, что у нас синхронная реплика. Т.е. по сути ее нельзя активно использовать для каких-то долгих запросов?

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

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

Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
55
Я тут за тем, чтобы задать вопрос, так как не знаю ассемблер, учу с/с++. Короче, насколько дорога операция перехода в функцию при ее вызове? Дело в том, что в с++ есть макросы...
Максим Рябцев
12
А какие чаты вообще в ходу? Auto aim? И что еше
do you think you're better off alone? А
13
Привет, нужен совет старших товарищей. Есть глобальная переменная var DefaultDataFolder:string; инициализируем DefaultDataFolder:='a:\_OUT\'; есть примитивная процедур...
Max Otto
14
hello friends. Do you know how can I learn getx? I have a software project that I should deliver it up to 5 weeks later and I need to learn firebase too. I will be thankfull
AmirHossein Razavi
15
Доброе время суток! у меня тут иноды закончились. и понял почему по сути кстит, я периодически очищаю постгрес и сентри контайнер: postgres=# DELETE FROM nodestore_node WHER...
Юсиф Насиров
9
Вопрос. Теоретический. Есть список команд. Команды отправляю в обработку некой функции, по очереди. Разные команды могут давать разные результаты после обработки. В зависимос...
Serjone
7
lazarus-3.2.0/gtk, linux патч "имя проекта по умолчанию project1 -> prj" день добрый не нравится "именя проекта по умолчанию" (project1), к.раз приходится переименовывать (н...
livontiy
5
Какой дос блять?
007
9
Коллеги, а в чём сейчас хорошо писать на перле, в смысле ide? Пробовал в идее с плагином, подсветка есть, даже какие-то предупреждения есть, но рефакторинга считай нет. Перене...
Дмитрий Петров
9
Карта сайта