English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

invité
1 / ?
retour aux leçons

L = λ × W

L'équation la plus utile en planification de capacité

Pour toute file d'attente stable, quelle que soit sa structure interne : L = λ × W, où :

- L = nombre moyen d'éléments dans le système (en cours de traitement ou en attente)

- λ (lambda) = taux d'arrivée moyen (éléments par unité de temps)

- W = temps moyen que chaque élément passe dans le système

Lecture géométrique : tracer λ sur un axe et W sur l'autre. Le produit L est la surface du rectangle qu'ils forment. La planification de la capacité se situe à l'intérieur de ce rectangle.

Pourquoi c'est important : deux des trois grandeurs déterminent la troisième. Mesurer le débit et la latence, on connaît l'occupation. Mesurer l'occupation et le débit, on connaît la latence. La loi est robuste : elle s'applique aux requêtes web, aux tables de restaurant, aux files d'attente des supermarchés et aux pipelines CPU sans modification.

Trois exemples concrets :

- Un service web gère 200 req/s avec une latence moyenne de 50 ms (0,05 s). L = 200 × 0,05 = 10 requêtes en cours.

- Un café sert 60 clients/heure avec un temps de séjour moyen de 15 minutes (0,25 h). L = 60 × 0,25 = 15 clients à l'intérieur.

- Un pool backend gère 1500 req/s avec une latence moyenne de 200 ms (0,2 s). L = 1500 × 0,2 = 300 requêtes en cours.

Implication pour le dimensionnement : le nombre de workers / threads / connexions d'une couche doit être au moins égal à L pour suivre la demande. Tout ce qui est en dessous entraîne une croissance de la file d'attente.

Loi de Little en tant que surface : λ en x, W en y, L = surface

Votre couche API gère 1 200 req/s avec une latence moyenne de 80 ms. Appliquez la loi de Little pour calculer L. Puis expliquez ce qui change (a) si le trafic double à 2 400 req/s avec une latence inchangée, et (b) si le trafic reste à 1 200 mais que la latence augmente à 160 ms. Quel scénario produit un L plus grand, et qu'est-ce que cela signifie en termes opérationnels ?

Pourquoi la latence explose au-delà de 80 % de taux d'utilisation

La courbe la plus importante en opérations

Tracez le taux d'utilisation sur l'axe des x (de 0 % à 100 %) et le temps d'attente moyen sur l'axe des y. La forme de cette courbe est l'une des plus déterminantes dans la planification de la capacité.

Le modèle de file d'attente M/M/1 : pour un système avec des arrivées de Poisson (aléatoires) et des temps de service exponentiels (aléatoires), le temps d'attente moyen est :

W_q = ρ / (μ × (1 - ρ))

où ρ est le taux d'utilisation (de 0 à 1) et μ est le taux de service.

La forme de la courbe :

- À ρ = 0,5 (50 % de taux d'utilisation), le temps d'attente est faible (1 temps de service).

- À ρ = 0,7 (70 % d'utilisation), le temps d'attente est d'environ 2,3 fois le temps de service.

- À ρ = 0,8 (80 % d'utilisation), le temps d'attente est d'environ 4 fois le temps de service.

- À ρ = 0,9 (90 % d'utilisation), le temps d'attente est d'environ 9 fois le temps de service.

- À ρ = 0,95 (95 % d'utilisation), le temps d'attente est d'environ 19 fois le temps de service.

- À ρ = 1,0 (100 % d'utilisation), le temps d'attente est infini.

Le point d'inflexion : autour de 80 % d'utilisation, la courbe s'infléchit brusquement. En dessous de ce point, la capacité est confortable ; au-dessus, la latence augmente plus rapidement que l'utilisation.

Interprétation pratique : visez 70 % d'utilisation pour l'état stationnaire, jamais 100 %. Les 30 % de « marge » ne sont pas un gaspillage ; c'est le prix à payer pour une latence bornée.

Courbe de mise en file avec un point d'inflexion à 80 % d'utilisation

Dimensionnement au-delà du point d'inflexion

Deux scénarios :

Scénario A : 10 répliques fonctionnant à 60 % de CPU. Latence p99 = 100 ms.

Scénario B : même flotte fonctionnant à 90 % de CPU en raison de la croissance du trafic. p99 = 600 ms.

Même flotte, même code, seule l'utilisation a changé.

Expliquez pourquoi la latence du scénario B est 6 fois plus élevée malgré une simple augmentation de 1,5 fois de l'utilisation, en utilisant la forme géométrique de la courbe de mise en file d'attente. Puis proposez : à quel niveau d'utilisation l'équipe devrait-elle ajouter de la capacité, et pourquoi ce seuil plutôt que d'attendre une violation réelle de l'objectif de service (SLO) ?

Dimensionnement et déclenchement combinés

Synthèse

Vous pouvez désormais appliquer la loi de Little comme un rectangle, lire la courbe de file d'attente et son point d'inflexion, et relier les deux aux décisions de capacité.

Appliquez les deux.

Une couche backend gère 2 000 req/s avec une latence moyenne de 50 ms par réplique, pour une capacité de 80 req/s à 70 % de CPU. Facteur de pic de 2x ; vous souhaitez survivre à 3 pannes de répliques simultanées.

Calculez : (1) L en utilisant la loi de Little à l'état de base ; (2) le nombre de répliques en utilisant la formule du cours (pic × facteur de pic / par réplique) + marge de sécurité ; (3) à quel niveau d'utilisation observé sur l'ensemble de la flotte le redimensionnement automatique (autoscaling) doit-il être déclenché, et justifiez ce seuil à l'aide de la courbe de file d'attente.

Notes complémentaires

Notes complémentaires

Cette leçon de géométrie réinterprète la leçon principale Mise à l'échelle horizontale sans état sous forme de géométrie quantitative.

Le prochain compagnon, geometry_of_ingress_egress_separation, réinterprète la séparation de la frontière réseau comme un graphe biparti avec un sommet de coupure que la séparation supprime.

Bravo.