Увеличим количество доступных подключений для пользователя БД PostgreSQL
Посмотрим сколько подключений выдано на данный момент:
export POSTGRES=$(yc postgresql cluster get cam-postgres --format=json | jq -r ".id") yc postgresql user list --cluster-id $POSTGRES +--------+-------------+------------+ | NAME | PERMISSIONS | CONN LIMIT | +--------+-------------+------------+ | cameda | db1 | 50 | +--------+-------------+------------+
Увеличим значение соединений 50-->70.
yc postgresql user update --cluster-id $POSTGRES --login cameda --conn-limit 70 --async
Проверим сколько подключений стало:
yc postgresql user list --cluster-id $POSTGRES +--------+-------------+------------+ | NAME | PERMISSIONS | CONN LIMIT | +--------+-------------+------------+ | cameda | db1 | 70 | +--------+-------------+------------+
Здесь отмечу, что количество соединений к базе не бесконечно и зависит от количества ядер cpu, а также процента использования ядра. Чем больше ресурсов у процессора, тем больше можно установить соединений. А мощность процессора в свою очередь зависит от флейвора.
Флейвор - это по-русски класс хостов.
Формула для подсчёта количества соединений для кластера такая 200*кол-во ядер на каждом хосте - 15. 15 соединений резервируется для служебных нужд.
Количество соединений для кластера - это параметр max_connections.
Итак, в этой короткой статье научились изменять количество соединений к базе для конкретного пользователя.
Полезные ссылки.
Создали кластер здесь: https://teletype.in/@cameda/Lheee0sIIqV
Классы хостов:
https://cloud.yandex.ru/docs/managed-postgresql/concepts/instance-types