PostgreSQL
September 10, 2022

Увеличить значение параметра max_connections до 1000

Удобно управлять параметрами кластера с помощью ус. Для этого необходимо передать в кластер параметр и новое значение.

Поехали!

export POSTGRES=$(yc postgresql cluster get cam-postgres1 --format=json | jq -r ".id")
yc postgresql cluster update-config $POSTGRES \
  --set max_connections=1000 \
  --async

Готово!

Директива max_connections - это пул, предельное количество соединений, которое может быть установлено с кластером. Сумма пользовательских соединений не должна превышать этот параметр.

Данный параметр напрямую зависит от мощности CPU. Чем мощнее CPU, тем большее количество соединений можно установить.

Предельное число соединений может быть рассчитано по формуле:

400 * <Количество ядер CPU> * <Кол-во нод в кластере>

Если выставить больше, то сервер начнёт сбрасывать соединения.

Оптимальное значение можно рассчитать по такой формуле:

200 * <Количество ядер CPU> * <Кол-во нод в кластере>

При создании кластера выбирается оптимальное значение.