Skip to main content

Що таке PgBouncer і навіщо він потрібен?

PgBouncer - це легкий пул з'єднань (connection pooler) для PostgreSQL. Він працює як посередник між застосунком і базою даних.

Коли застосунок відкриває нове з'єднання з PostgreSQL, це вимагає значних ресурсів: ініціалізація процесу, авторизація, виділення пам'яті. За великої кількості клієнтів це стає «вузьким місцем».

Як PgBouncer вирішує цю проблему

  1. Він тримає обмежену кількість активних з'єднань з PostgreSQL.
  2. Коли застосунок запитує підключення, PgBouncer видає одне з уже наявних - не створюючи нове.
  3. Після виконання запиту з'єднання повертається в пул і може бути використане знову.

Переваги

  • суттєво знижує навантаження на сервер БД;
  • пришвидшує відповідь застосунку за великої кількості клієнтів;
  • дозволяє централізовано керувати лімітами підключень і політикою тайм-аутів;
  • покращує стійкість - за короткочасних збоїв PostgreSQL з'єднання можна відновити без перезапуску застосунків.

Простіше кажучи, PgBouncer - це «буфер», який робить роботу з PostgreSQL швидшою, стабільнішою й економнішою за ресурсами.

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.