Вы хорошо затронули пул соединений и сравнение планов запросов, а сетевую инфраструктуру упомянули поверхностно. Расскажите, как именно вы проверите насыщение пула соединений в PostgreSQL?

Сначала измерьте ожидание выдачи соединения, число занятых и свободных соединений, очередь и таймауты именно в пуле приложения или PgBouncer. pg_stat_activity показывает серверные сессии, а не всю очередь пула.

Короткий ответ

Что ответить на собеседовании

Сначала измерьте ожидание выдачи соединения, число занятых и свободных соединений, очередь и таймауты именно в пуле приложения или PgBouncer. pg_stat_activity показывает серверные сессии, а не всю очередь пула.

Подробный разбор

Ответ с пояснениями

Сначала измерьте ожидание выдачи соединения, число занятых и свободных соединений, очередь и таймауты именно в пуле приложения или PgBouncer. pg_stat_activity показывает серверные сессии, а не всю очередь пула.

Сопоставьте занятость с длительностью транзакций, idle in transaction, блокировками и временем SQL. Для PgBouncer полезны SHOW POOLS и SHOW STATS; для ORM — его pool-метрики. Учитывайте суммарный лимит всех экземпляров приложения. Увеличение пула без диагностики может усилить конкуренцию в PostgreSQL, не устранив медленные запросы или утечку соединений.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее