L = λ × W
La Ecuación Más Útil en la Planeación de Capacidad
Para cualquier cola estable, independientemente de su estructura interna: L = λ × W, donde:
- L = número promedio de elementos en el sistema (en progreso o esperando)
- λ (lambda) = tasa promedio de llegada (elementos por unidad de tiempo)
- W = tiempo promedio que cada elemento pasa en el sistema
La lectura geométrica: grafique λ en un eje y W en el otro. El producto L es el área del rectángulo que forman. La planeación de capacidad vive dentro de este rectángulo.
Por qué importa: cualquier dos de las tres cantidades determinan la tercera. Mide a través y latencia, sabes ocupación. Mide ocupación y a través, sabes latencia. La ley es robusta: aplica a solicitudes web, mesas de restaurante, colas de supermercado y líneas de CPU sin modificaciones.
Tres ejemplos concretos:
- Un servicio web maneja 200 req/s con latencia promedio de 50 ms (0.05 s). L = 200 × 0.05 = 10 en vuelo.
- Un café sirve 60 clientes/hora con tiempo de permanencia promedio de 15 minutos (0.25 h). L = 60 × 0.25 = 15 clientes dentro.
- Una piscina de backend maneja 1500 req/s con latencia promedio de 200 ms (0.2 s). L = 1500 × 0.2 = 300 en vuelo.
Implicación de tamaño: la cantidad de trabajadores / hilos / conexiones de una capa debe ser al menos L para mantenerse al día. Algo menos significa crecimiento de la cola.
Por qué la Latencia Explota Más Allá del 80% de Utilización
La Curva Más Importante en Operaciones
Representación de la utilización en el eje x (0% a 100%) y el tiempo de espera promedio en el eje y. La forma es una de las curvas más importantes en la planificación de capacidad.
El modelo de colas M/M/1: para un sistema con llegadas de Poisson (aleatorias) y tiempos de servicio exponenciales (aleatorios), el tiempo de espera promedio:
W_q = ρ / (μ × (1 - ρ))
donde ρ es la utilización (0 a 1) y μ es la tasa de servicio.
La forma de la curva:
- En ρ = 0.5 (50% de util), el tiempo de espera es pequeño (1 tiempo de servicio).
- En ρ = 0.7 (70% de util), el tiempo de espera es ~2.3 tiempos de servicio.
- En ρ = 0.8 (80% de util), el tiempo de espera es ~4 tiempos de servicio.
- En ρ = 0.9 (90% de util), el tiempo de espera es ~9 tiempos de servicio.
- En ρ = 0.95 (95% de util), el tiempo de espera es ~19 tiempos de servicio.
- En ρ = 1.0 (100% de util), el tiempo de espera es infinito.
La rodilla: alrededor del 80% de utilización, la curva se dobla bruscamente. Por debajo de la rodilla, la capacidad es cómoda; por encima, la latencia aumenta más rápido que la utilización.
Lectura práctica: objetivo del 70% de utilización para un estado estable; nunca el 100%. El 30% de 'espacio libre' no es desperdicio; es el precio de la latencia limitada.
Dimensionamiento a Través de la Rodilla
Dos escenarios:
Escenario A: 10 replicas funcionando a un 60% de CPU. Latencia p99 = 100 ms.
Escenario B: mismo conjunto de recursos funcionando a un 90% de CPU debido al crecimiento del tráfico. p99 = 600 ms.
Mismo conjunto de recursos, mismo código, solo se modificó la utilización.
Tamaño y Desencadenante Juntos
Síntesis
Ahora puedes aplicar la ley de Little como un rectángulo, leer la curva de cola y su rodilla, y conectar ambos con las decisiones de capacidad.
Aplica ambos.
Un nivel de backend maneja 2,000 req/s con latencia promedio de 50 ms por capacidad de replica 80 req/s con un 70% de CPU. Factor de inundación 2x; quieres sobrevivir a 3 fallas simultáneas de replicas.
Comentarios Complementarios
Comentarios Complementarios
Esta lección de geometría reformula la lección principal Escalado Horizontal Stateless como geometría cuantitativa.
El próximo compañero, geometry_of_ingress_egress_separation, reformula la división de la frontera de red como un grafo bipartito con un vértice de corte que la división elimina.
Buen trabajo.