Size: a a a

pgsql – PostgreSQL

2021 February 24

VG

Viktor Grigorev in pgsql – PostgreSQL
В режиме транзакций примерно столько соединений и будет нужно, pool_size 2000 - это скорее всего перебор
источник

LM

Lina M in pgsql – PostgreSQL
Viktor Grigorev
В режиме транзакций примерно столько соединений и будет нужно, pool_size 2000 - это скорее всего перебор
Получается, изменяю session=transaction, default_pool_size=1000 (?), max_client_conn=2000?
источник

LM

Lina M in pgsql – PostgreSQL
И ещё, имеет ли сильное влияние на pgbouncer параметры машины, на которой он работает? В данный момент это 2vCPU 1 RAM, 50 GB Storage
источник

VG

Viktor Grigorev in pgsql – PostgreSQL
Начните с pool_mode=transaction, а там по мониторингу видно будет сколько реально нужно
источник

LM

Lina M in pgsql – PostgreSQL
В течение 5 минут машина запустится и отпишу ещё через несколько, когда обновятся данные в мониторинге
источник

VG

Viktor Grigorev in pgsql – PostgreSQL
Lina M
И ещё, имеет ли сильное влияние на pgbouncer параметры машины, на которой он работает? В данный момент это 2vCPU 1 RAM, 50 GB Storage
Pgbouncer - pooler, не могу придумать как на него диск повлияет. Разве что логи писать некуда будет
источник

LM

Lina M in pgsql – PostgreSQL
Viktor Grigorev
Pgbouncer - pooler, не могу придумать как на него диск повлияет. Разве что логи писать некуда будет
Аналогичные мысли по поводу логов были. Понял
источник

LM

Lina M in pgsql – PostgreSQL
Viktor Grigorev
Начните с pool_mode=transaction, а там по мониторингу видно будет сколько реально нужно
источник

LM

Lina M in pgsql – PostgreSQL
Viktor Grigorev
Начните с pool_mode=transaction, а там по мониторингу видно будет сколько реально нужно
источник

LM

Lina M in pgsql – PostgreSQL
Скорость стала заметно лучше, но более нестабильна
источник

LM

Lina M in pgsql – PostgreSQL
Lina M
Скорость стала заметно лучше, но более нестабильна
Хотя могу и ошибаться на счёт нестабильности, поскольку там график был за час, и эти перепады нивелировались
источник

VG

Viktor Grigorev in pgsql – PostgreSQL
50 воркеров на самой маленькой виртуалке мне кажется слишком много, у вас столько ядер нет, они только ресурсы отнимают друг у друга, да и с памятью непонятно что
источник

LM

Lina M in pgsql – PostgreSQL
Viktor Grigorev
50 воркеров на самой маленькой виртуалке мне кажется слишком много, у вас столько ядер нет, они только ресурсы отнимают друг у друга, да и с памятью непонятно что
Memory usage
источник

LM

Lina M in pgsql – PostgreSQL
Viktor Grigorev
50 воркеров на самой маленькой виртуалке мне кажется слишком много, у вас столько ядер нет, они только ресурсы отнимают друг у друга, да и с памятью непонятно что
1 воркер с 1 процессом, в котором 50 потоков. Машина позволяет сделать 2 процесса
источник

LM

Lina M in pgsql – PostgreSQL
Одна машина, которая работает сейчас
источник

VG

Viktor Grigorev in pgsql – PostgreSQL
Я имел ввиду соединения с базой. Каждое соединение обслуживает отдельный процесс postgres
источник

VG

Viktor Grigorev in pgsql – PostgreSQL
Пробуйте pool size 10-20
источник

LM

Lina M in pgsql – PostgreSQL
Viktor Grigorev
Пробуйте pool size 10-20
Но количество потоков в воркере оставить таким же — 50?
источник

VG

Viktor Grigorev in pgsql – PostgreSQL
Судя по графику активных соединений они достаточно плотно нагружают базу. Если выделить меньше соединений, они будут конфликтовать и возможно будут по тайм-ауту отваливаться. Если ваши воркеры ничего не делают, кроме запросов в базу, то наверно логично их количество уменьшить. Экспериментируйте
источник

LM

Lina M in pgsql – PostgreSQL
Viktor Grigorev
Судя по графику активных соединений они достаточно плотно нагружают базу. Если выделить меньше соединений, они будут конфликтовать и возможно будут по тайм-ауту отваливаться. Если ваши воркеры ничего не делают, кроме запросов в базу, то наверно логично их количество уменьшить. Экспериментируйте
Понял, буду пробовать, спасибо
источник