Cold start and idle behavior
StableAutostart через Gateway, idle stop и best practices для retry.
Обновлено: 4 февраля 2026 г.
spg99 оптимизирован под модель serverless compute: данные хранятся отдельно (Pageserver/S3), а compute с PostgreSQL может подниматься/гаситься по требованию.
Что такое cold start
Cold start происходит, когда для БД нет активного compute (state=stopped, target_scale=0):
- вы открываете первое соединение на Gateway;
- Gateway инициирует
start(через CP); - после readiness compute соединение продолжает устанавливаться как обычный PostgreSQL коннект.
Текущая типичная длительность cold start: до ~5 секунд (< 5 с).
Idle stop
Чтобы не держать compute без нагрузки, CP может автоматически останавливать БД при простое:
- проверка выполняется периодически;
- если нет активных подключений и БД не использовалась дольше
idle_timeout(по умолчанию ~5 минут), CP переводитtarget_scaleв0и гасит compute.
Следующее подключение снова разбудит БД.
Рекомендации для приложений
- Всегда делайте retry на connect (экспоненциальный backoff, 2–5 попыток).
- Ставьте
connect_timeout5–10s, а общий дедлайн на установление соединения (включая retry) — 20–30s. - Для критичных сервисов используйте «прогрев»:
- заранее вызовите
startчерез Console/CLI/API перед пиковым трафиком; - держите регулярный healthcheck/keepalive (если это допустимо по стоимости/политикам).
- заранее вызовите
- Не держите «висящие» idle‑соединения: они ухудшают эффективность compute/pooling и мешают auto‑stop.
Что вы увидите в состоянии БД
stopped→starting/booting→ready— нормальный путь.- Если БД зависла в транзитном состоянии или долго в
error— см. Troubleshooting.