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 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. Mida a través y latencia, conozca la ocupación. Mida ocupación y a través, conozca la latencia. La ley es robusta: se aplica a solicitudes web, mesas de restaurante, colas de supermercado y tubos 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.
- Una cafetería sirve 60 clientes por hora con tiempo de permanencia promedio de 15 minutos (0.25 h). L = 60 × 0.25 = 15 clientes dentro.
- Una piscina de back-end 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: el número de trabajadores / hilos / conexiones de una capa debe ser al menos L para mantener el ritmo. Cualquier cosa menos significa crecimiento de 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:
- A una ρ = 0.5 (50% de util), el tiempo de espera es pequeño (1 tiempo de servicio).
- A una ρ = 0.7 (70% de util), el tiempo de espera es ~2.3 tiempos de servicio.
- A una ρ = 0.8 (80% de util), el tiempo de espera es ~4 tiempos de servicio.
- A una ρ = 0.9 (90% de util), el tiempo de espera es ~9 tiempos de servicio.
- A una ρ = 0.95 (95% de util), el tiempo de espera es ~19 tiempos de servicio.
- A una ρ = 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: dirígete al 70% de utilización para un estado estable; nunca al 100%. El 30% de 'espacio adicional' no es desperdicio; es el precio de la latencia limitada.
Tamaño a lo largo de la rodilla
Dos escenarios:
Escenario A: 10 replicas funcionando a un 60% de CPU. Latencia p99 = 100 ms.
Escenario B: misma flota funcionando a un 90% de CPU debido al crecimiento del tráfico. p99 = 600 ms.
Misma flota, mismo código, solo la utilización cambió.
Tamaño y Desencadenante Juntos
Sinopsis
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 replica, capacidad de 80 req/s con un 70% de CPU. Factor de inundación 2x; quieres sobrevivir a 3 fallas simultáneas de replicas.
Notas de Compañero
Notas de Compañero
Esta lección de geometría reinterpreta la lección principal Escalado Horizontal Stateless como geometría cuántica.
La siguiente compañera, geometry_of_ingress_egress_separation, reinterpreta la separación de la frontera de red como un grafo bipartito con un vértice de corte que la separación elimina.
Buen trabajo.