Как работает параметр 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.
По умолчанию установлено максимальное значение.
С подробной информацией можно ознакомиться в документации.