production capacity provisioning workflow с реальными числами
Capacity — максимальная полезная нагрузка конкретного workload, которую система держит при заданных correctness, latency и error SLO. CPU count или число replicas сами по себе capacity не определяют.
Achieved throughput считается только пока latency/error SLO выполняется. Closed-loop test может скрыть overload, если клиенты сами замедляют arrivals; production-shaped generator и telemetry обязательны.
Учебное допущение: λ=2,000 completed requests/s, W=0.120 s end-to-end. L=λW=240 average in-flight requests. Если DB занимает в среднем 0.020 s на request, отдельная DB boundary даёт около 40 average concurrent occupancies. Ни одно число автоматически не является connection pool size: нужны variance, queueing, transaction scope и headroom.
Учебные допущения: hard app maximum 2,000 RPS в тесте, 25% operating headroom → 1,500 planned RPS/unit. Forecast peak 12,000 → ceil(12,000/1,500)=8 healthy units. N+2 target → 10 total. Data RF не умножает stateless app count; database failover capacity считается своим workload.
Учебные допущения: 500 GB primary + 5 GB/day × 365 = 2,325 GB = 2.325 TB primary. RF3 total copies = 6.975 TB raw до indexes, compaction, WAL, snapshots и backups. Retention и restore bandwidth могут быть главным limit.
AWS gp3 на дату research ledger включает baseline 3,000 IOPS и 125 MiB/s; provisioned maxima и ratios меняются, поэтому production decision сверяется с current docs и проверяется реальным block-size mix.
Known campaign/launch pre-scales заранее и прогревает caches. Reactive autoscaling остаётся защитой второго уровня, но имеет измеренный detection/provision/warm-up lag. При saturation система shed optional work, ограничивает queues и сохраняет critical path.
[CONCEPT]latency-vs-throughput
[CONCEPT]performance-vs-scalability
Введите числа или выберите пресет