Estimador de capacidad necesaria para funciones serverless

Estima la concurrencia que debe soportar una función serverless en un pico de demanda. Combina la tasa máxima de solicitudes con la duración media de cada ejecución y añade un margen de capacidad para absorber variaciones, latencia o ráfagas por encima del valor observado.

La cifra es útil al configurar límites de concurrencia, capacidad preaprovisionada o alertas operativas. No sustituye una prueba de carga, pero ofrece una referencia rápida para comprobar si la capacidad configurada está alineada con el tráfico esperado y con el tiempo que cada invocación permanece activa.

Tráfico y concurrencia

req/s
ms
%
Resultado
Concurrencia recomendada aproximada
Concurrencia base
Margen añadido
Duración en segundos

1. Introduce el pico de tráfico
Usa solicitudes por segundo en el intervalo de mayor carga que quieras soportar, no el promedio diario.

2. Indica la duración media
Añade el tiempo medio de ejecución en milisegundos para ese patrón de tráfico.

3. Define un margen operativo
Añade un porcentaje de holgura para absorber variabilidad y ráfagas por encima de la estimación base.

4. Compara con tus límites
Contrasta la concurrencia estimada con los límites de cuenta, función o capacidad preaprovisionada de tu arquitectura.

Concurrencia base = Solicitudes por segundo × Duración media en segundos

Concurrencia recomendada = Concurrencia base × (1 + Margen / 100)

Qué significa el resultado

El resultado aproxima cuántas ejecuciones simultáneas podrían ser necesarias durante el pico considerado, incluyendo la holgura indicada.

La fórmula presupone un flujo estable durante el intervalo. Reintentos, colas, cold starts, dependencias lentas y ráfagas muy cortas pueden elevar la concurrencia real.

Given:
Pico = 1.200 req/s; duración media = 180 ms; margen = 30 %.

Calculation:
Duración = 180 ÷ 1.000 = 0,18 s.
Concurrencia base = 1.200 × 0,18 = 216.
Con margen = 216 × 1,30 = 280,8.

Result:
Concurrencia recomendada ≈ 281 ejecuciones simultáneas.

Interpretation:
Una capacidad cercana a 281 ofrece un 30 % de holgura sobre la concurrencia media esperada en ese pico.

¿Por qué se multiplica la tasa de solicitudes por la duración?

Porque la concurrencia representa cuántas solicitudes siguen activas al mismo tiempo. Cuanto más tarda cada ejecución, más invocaciones se solapan.

¿Debo usar duración media o percentil alto?

La media sirve para una estimación general. Para capacidad crítica puede ser más prudente repetir el cálculo con un percentil alto de duración y comparar escenarios.

¿El margen de capacidad evita todos los throttling?

No. También influyen límites del proveedor, cuotas de cuenta, concurrencia reservada y ráfagas instantáneas. El margen solo añade holgura al modelo básico.

¿Qué ocurre si las funciones procesan mensajes de una cola?

La capacidad requerida puede depender de la velocidad de llegada, del backlog aceptable y de cómo escale el consumidor. Este cálculo sigue siendo una referencia si expresas la carga como ejecuciones por segundo.

¿Es lo mismo capacidad que utilización?

No. Capacidad estima cuánta concurrencia deberías poder soportar; utilización compara la carga usada con la capacidad que ya tienes disponible.