Профили compute

Stable

Как работают размеры L1–L5, что реально активно сегодня и как профиль writer влияет на автоскейлер и managed‑конфиг.

Обновлено: 21 марта 2026 г.

Профиль Compute определяет, как именно платформа будет запускать PostgreSQL для вашей БД: какие ресурсы доступны writer, какие managed‑параметры будут рассчитаны и как поведёт себя база под нагрузкой.

В пользовательской модели SPG99 есть два уровня выбора:

  1. Size (size) — понятный продуктовый размер для пользователя.
  2. Compute profile (current_profile / target_profile) — runtime‑профиль writer, который использует платформа во время работы и autoscale‑handoff.

Пользовательская размерная модель L1–L5

С точки зрения продукта и PAYG‑линейки платформа подготовлена к размерам:

  • L1
  • L2
  • L3
  • L4
  • L5

Это удобная внешняя модель для выбора класса базы.

Что реально активно сегодня

В текущем боевом serverless‑контракте autoscaler writer работает на диапазоне:

  • L1
  • L2

Поэтому для реального handoff между профилями сейчас нужно исходить из правила:

  • active writer autoscaler today = L1 <-> L2
  • PAYG и линейка L1–L5 уже подготовлены как продуктовая модель

Workload: OLTP или Analytics

Помимо размера, платформа учитывает тип нагрузки:

  • OLTP — много коротких транзакций, больше конкурентных подключений, низкая latency;
  • Analytics — меньше одновременных подключений, больше ресурсов на один тяжёлый запрос.

Workload влияет на вычисляемые параметры PostgreSQL и внутренние настройки Compute.

Какие параметры платформа рассчитывает сама

При старте платформа сама подбирает ключевые параметры PostgreSQL, исходя из реально выделенных CPU/памяти, size и типа нагрузки. Обычно автоматически вычисляются:

  • shared_buffers;
  • effective_cache_size;
  • maintenance_work_mem;
  • work_mem;
  • max_connections;
  • параметры параллелизма;
  • часть внутренних параметров spg99, связанных с local IO и WAL.

Это важно по двум причинам:

  • база стартует быстрее и предсказуемее;
  • пользователю не нужно вручную поддерживать десятки низкоуровневых настроек.

Что означают current_profile и target_profile

Новые runtime‑поля полезно понимать так:

  • current_profile — на каком профиле сейчас реально работает активный writer;
  • target_profile — какой профиль платформа пытается получить в рамках текущего autoscale‑перехода;
  • candidate_profile — какой профиль у заранее подготовленного candidate generation.

То есть профиль writer — это уже не только статическая подпись размера, а часть живого runtime‑состояния БД.

Лимиты подключений

Точное значение max_connections вычисляется платформой по профилю и workload. В прод‑эксплуатации всё равно лучше полагаться на pooling и не пытаться “забить лимит до конца”.

Что такое compute_profile

compute_profile — это более низкоуровневое имя профиля запуска Compute. Обычно он определяет детали инфраструктурного размещения точнее, чем публичный size.

Для большинства пользователей правило простое:

  • выбирайте size;
  • не привязывайтесь к внутренним именам профилей без необходимости;
  • используйте current_profile и target_profile как runtime‑сигналы, а не как ручные low‑level knobs.

Практическая рекомендация

  • Для большинства новых баз начинайте с L1.
  • Если нужна более высокая headroom и платформа уже работает на L2‑handoff, используйте L2.
  • Если на стороне продукта вы планируете PAYG‑масштабирование шире, закладывайте naming и ожидания под L1–L5, но помните, что текущий autoscale‑handoff уже активен именно в диапазоне L1/L2.