Холодный старт слишком медленный
StableКак разбирать ситуацию, когда stopped‑база просыпается дольше ожидаемого: soft basebackup, remote read‑through, pooling и autoscale handoff.
Обновлено: 21 марта 2026 г.
Если cold start кажется слишком долгим, сначала важно понять, что именно тормозит:
- база честно просыпается после
stopped; - платформе не хватает ресурсов для быстрого запуска writer;
- Compute не проходит soft bootstrap / readiness;
- Pageserver или Safekeeper под нагрузкой;
- приложение обрывает попытку слишком ранним таймаутом;
- в этот момент идёт autoscale handoff или cooldown.
Что важно помнить
В SPG99 cold start — нормальная часть serverless‑модели. После обновления платформы он идёт через:
- soft basebackup;
- тонкий startup‑образ;
- минимальный локальный набор данных на pod’е;
- ленивое дочитывание пользовательских relation pages.
Это заметно быстрее тяжёлого локального restore, но не делает первый connect мгновенным во всех случаях.
Что проверить
- Была ли база действительно в
stopped? - Переходит ли она из
bootingвready, или зависает? - Какой сейчас
scale_state? - Не слишком ли мал
connect_timeoutу клиента? - Есть ли ошибки в Logs и признаки проблем в Metrics?
- Нет ли pinned/session трафика, из‑за которого платформа сейчас не может быстро завершить handoff?
Типовые причины
- storage‑контур под нагрузкой;
- база давно не запускалась;
- одновременно стартуют несколько БД;
- Pageserver догоняет нужный WAL диапазон;
- первый remote read‑through на горячие страницы занимает заметное время;
- платформа сейчас находится в
PREPARING,DRAININGилиCOOLDOWN.
Что помогает
- разумный retry на connect;
connect_timeoutне менее5–10s;- проверка
stateиscale_stateчерез Console / API; - анализ логов и метрик вместо догадок;
- прогревающий connect перед критичным окном нагрузки.
Практический вывод
Если cold start стабильно выходит за ожидаемые рамки, проблема обычно находится не в самом факте stopped, а в том, как платформа проходит путь:
- storage -> soft basebackup -> ready,
- или profile handoff -> freeze/drain -> ready.
