awesome-everything EN
↑ Обратно к восхождению

Базы данных

Connection pooling: тест на припоминание

Суть Промпты на свободное припоминание по всему юниту пулинга. Сначала ответь своими словами, затем раскрой модельный ответ и сравни.
Высота — путь к senior
НольJuniorMiddleSenior
Ты на senior-высоте — в орбите
◷ 14 min

Припоминание бьёт перечитывание. На каждый промпт скажи или напиши полный ответ по памяти, прежде чем открыть модельный — именно усилие припоминания закрепляет механизм так, чтобы он был под рукой в инциденте.

Цель

Восстанови по памяти позвоночник юнита — почему backend тяжёлые, что отдаёт transaction mode, как сайзить оба слоя пула, почему exhaustion — это hold-time, и чем idle-in-transaction вредит за пределами пула.

Вспомните перед уходом
  1. 01
    Почему соединение Postgres дорогое и какие два слоя пула поглощают эту стоимость?
  2. 02
    Что даёт transaction mode PgBouncer, что он ломает и какова безопасная замена для каждой поломки?
  3. 03
    Как сайзить два слоя пула и почему pool_size — это НЕ число клиентов?
  4. 04
    Почему pool exhaustion почти всегда проблема hold-time и почему поднятие pool_size обычно не помогает?
  5. 05
    Помимо занятого слота пула, чем ещё вредит backend в idle-in-transaction и почему?
  6. 06
    Когда тянуться за пределы PgBouncer и каков фикс serverless connection storm?
Итог

Если ты смог восстановить каждый ответ по памяти — ты держишь позвоночник юнита: backend — тяжёлые процессы, поэтому существуют два слоя пула: client pool на воркер, чтобы убить per-request setup, и server pooler, чтобы мультиплексировать тысячи клиентов на число backend, размеченное под CPU через (cores × 2) + spindles. Transaction mode — дефолт мультиплексирования и торгует session-state, заданным при подключении, у каждой поломки точная замена, а PgBouncer 1.21+ возвращает prepared statements. Exhaustion — это hold-time, а не размер; idle-in-transaction вдобавок пиннит MVCC-снимок и блокирует VACUUM; и ты перерастаешь PgBouncer лишь когда измерил его однопоточный потолок или столкнулся с serverless/multi-tenant масштабом.

Продолжить восхождение ↑Connection pooling: укроти исчерпанный пул
хоткеи развернуть
поиск
K
пред. пьеса
k
след. пьеса
j
тиры
t
это меню
?
sources3
expand
  1. 01
  2. 02
  3. 03

Trademarks belong to their respective owners. Editorial reference only.