Перейти к основному содержимому

Администрирование Pangolin Pooler

Текущая версия компонента Pangolin Pooler 1.6.0, основан на PgBouncer версии 1.24.0.

Компонент Pangolin Pooler – это менеджер пулов соединений Pangolin DBMS.

Предназначение компонента — минимизировать издержки, связанные с установлением новых подключений к Pangolin DBMS. Pangolin Pooler позволяет уменьшить накладные расходы на базу данных в случае, когда огромное количество физических соединений ведет к падению производительности СУБД Pangolin.

Любое клиентское приложение может подключиться к Pangolin Pooler, как если бы это был непосредственно сервер DBMS, и Pooler создаст подключение к реальному серверу, либо задействует одно из ранее установленных подключений.

Компонент Pangolin Pooler – это доработанная версия утилиты PgBouncer. Подробнее о PgBouncer в документации утилиты.

Чтобы не нарушать семантику транзакций при использовании пула соединений, Pooler поддерживает несколько видов пулов (параметр pool_mode) при ротации соединений:

  • Пул сеансов. Метод используется по умолчанию. Когда клиент подключается, ему назначается подключение к серверу на все время, пока клиент остается подключенным. Когда клиент отключается, подключение к серверу возвращается в пул.
  • Пул транзакций. Подключение к серверу назначается клиенту только на время транзакции. Когда Pooler замечает, что транзакция завершена, это подключение возвращается в пул.
  • Пул операторов. Подключение к серверу будет возвращаться в пул сразу после завершения каждого запроса. Транзакции с несколькими операторами в этом режиме запрещаются, так как они могут прерваться.
Сведения

Компонент используется как в решении standalone, так и в кластерной конфигурации (cluster).

Содержание

Доработки

К ключевым доработкам программы PgBouncer в рамках создания компонента Pangolin Pooler относятся: