Как работает параметр Conn limit
Описание сценария
Необходимо разобраться, как работает параметр Conn limit
в Managed Service for PostgreSQL.
Решение
Параметр Conn limit
задает максимальное допустимое количество соединений для пользователя. В сессионном пулинге (session pooling) он ограничивает количество соединений пользователя с каждым хостом в PostgreSQL-кластере.
Основные принципы сессионного пулинга:
- При создании пользователя Managed Service for PostgreSQL по умолчанию резервирует для него 50 подключений к каждому хосту в PostgreSQL-кластере. Минимальное количество подключений на пользователя — 1;
- Суммарное количество подключений, зарезервированных для пользователей, не должно превышать значение параметра
Max connections
. Managed Service for PostgreSQL резервирует 15 служебных подключений на каждом хосте.
Например, если для кластера задана настройка "max_connections": 100
, то вы можете зарезервировать не больше 85 подключений для пользователей на каждый хост кластера. При этом сумма значений настройки Conn limit
у всех пользователей кластера не должна превышать значение 85.
Примечание
Настройка Max connections
задает максимальное число одновременных подключений к хосту PostgreSQL. Минимальное значение — 1, максимальное значение и значение по умолчанию зависят от выбранного класса хостов и задаются формулой:
200 × <количество vCPU на одном хосте>
Для хостов с гарантированной долей vCPU ниже 100% (burstable) используются фиксированные максимальные значения:
b1.nano
,b1.micro
,b2.nano
,b2.micro
— 100;b1.medium
,b2.medium
— 200.
По умолчанию установлено максимальное значение.
С подробной информацией можно ознакомиться в документации.