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 : un rectangle

La loi de Little : l'équation la plus utile en planification de capacité

John Little a prouvé en 1961 que pour toute file stable, indépendamment de sa structure interne : L = λ × W, où :

- L = nombre moyen d'éléments dans le système (file + en service)

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

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

La lecture géométrique : tracez le taux d'arrivée λ sur un axe & le temps de résidence W sur l'autre. Le produit L est la surface du rectangle qu'ils forment. La planification de capacité vit à l'intérieur de ce rectangle.

Pourquoi c'est important : deux quelconques des trois grandeurs déterminent la troisième. Si vous mesurez le débit & la latence, vous connaissez l'occupation. Si vous mesurez l'occupation & le débit, vous connaissez la latence. La loi est robuste : elle s'applique aux requêtes web, aux tables de restaurant, aux files d'attente de supermarché & aux pipelines CPU sans modification.

Trois exemples concrets :

- Un service web traite 200 requêtes/seconde avec une latence moyenne de 50 ms (0,05 s). L = 200 × 0,05 = 10 requêtes en vol à tout moment.

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

- Une chaîne de production fabrique 100 widgets/heure avec chaque widget prenant 2 heures de bout en bout. L = 100 × 2 = 200 widgets en cours.

Implication de provisionnement : si vous pouvez dimensionner L (éléments en vol simultanément), vous avez dimensionné le système. Le nombre de threads workers, de connexions de base de données, ou d'emplacements de file découlent tous de L.

La loi de Little sous forme de rectangle : λ sur x, W sur y, surface = L

Dimensionner un pool de workers

Votre service de transcodage vidéo est dimensionné pour un taux d'arrivée moyen de 30 travaux de transcodage par minute, chacun prenant 90 secondes de bout en bout. Le pool de workers actuel compte 30 workers.

Appliquez la loi de Little pour déterminer si le pool actuel est adéquatement dimensionné. Montrez vos calculs. Expliquez ensuite ce qui change si le taux d'arrivée double, & ce qui change si le temps de transcodage individuel double. Quel scénario stresse plus le système ?

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

La courbe la plus importante en planification de capacité

Tracez l'utilisation sur l'axe des x (0 % à 100 %) & la latence moyenne sur l'axe des y. La forme qui émerge est l'une des courbes les plus conséquentes en exploitation : elle explique pourquoi les équipes ciblent une utilisation bien inférieure à 100 %, pourquoi la marge réservée n'est pas du gaspillage, & pourquoi les systèmes fonctionnant « efficacement » à forte utilisation s'effondrent sans avertissement.

La courbe de file M/M/1 : pour un système avec des arrivées de Poisson (aléatoires) & des temps de service exponentiels (aléatoires), le temps d'attente moyen suit :

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

où ρ (rho) est l'utilisation (0 à 1) & μ est le taux de service. Le dénominateur (1-ρ) est le point crucial : à mesure que ρ s'approche de 1, le dénominateur s'approche de 0, & le temps d'attente s'approche de l'infini.

Exemples numériques (multiplicateur de latence vs ρ pour M/M/1) :

- ρ = 0,5 : ratio de latence 1,0 (ligne de base)

- ρ = 0,7 : ratio de latence ~2,3

- ρ = 0,8 : ratio de latence ~4,0

- ρ = 0,9 : ratio de latence ~9,0

- ρ = 0,95 : ratio de latence ~19,0

- ρ = 0,99 : ratio de latence ~99,0

Le coude se situe autour de 70-80 % d'utilisation. En dessous du coude, ajouter de la charge augmente la latence lentement. Au-dessus du coude, la latence explose de manière non linéaire. C'est pourquoi la règle SRE canonique est : ciblez une utilisation en régime permanent inférieure à 80 %, ne fonctionnez jamais de manière soutenue au-delà de 90 %.

Pourquoi les équipes d'exploitation traditionnelles sous-estiment cela : un serveur à 60 % de CPU « semble occupé » mais dispose d'une marge de latence confortable. Un serveur à 90 % de CPU « semble productif » mais ne dépend plus que d'une charge de travail supplémentaire avant une catastrophe de latence. La vérité géométrique : la pente de la courbe est la menace réelle, pas sa valeur y actuelle.

Courbe de file M/M/1 : x = utilisation, y = latence, coude à ~80 %

Lire la courbe

Une équipe exécute un service à 85 % d'utilisation CPU en régime permanent. La latence p99 actuelle est de 200 ms. Ils envisagent d'ajouter 30 % de trafic supplémentaire pour consolider la charge de travail d'un autre service qui est en cours de suppression.

Prédisez ce qui se passe à la latence quand 85 % devient approximativement 110 % (au-delà de la capacité) en utilisant la courbe de file d'attente. Pourquoi l'utilisation CPU au-delà de 100 % ne peut littéralement pas être maintenue, & quel symptôme visible la remplace ? Recommandez une utilisation cible pour la charge de travail consolidée & justifiez la marge que vous laissez.

Pente, ordonnée à l'origine, & le cône de prévision

Lire la croissance à partir d'une pente

La prévision de la demande se réduit (dans de nombreux cas) à tracer la bonne ligne à travers les données historiques. Les propriétés géométriques de cette ligne : pente, ordonnée à l'origine, & cône d'incertitude, codent la prévision entière.

Tendance linéaire (y = mx + b) : appropriée pour des fenêtres courtes ou des processus genuinely linéaires. La pente m est le taux de croissance par unité de temps. L'ordonnée à l'origine b est la valeur de départ. Utile quand la croissance est régulière. Tend à sous-estimer quand le processus est en fait composé.

Tendance exponentielle (y = b × e^(mx)) : appropriée pour la croissance composée : adoption virale, effets de réseau utilisateur, multiplicativité saisonnière. Sur une échelle logarithmique en y, la croissance exponentielle devient linéaire, ce qui facilite l'estimation de la pente. La pente m sur échelle logarithmique est le taux de croissance par unité de temps.

Linéaire par morceaux : appropriée quand la croissance a des régimes distincts. Un démarrage peut croître lentement pendant 18 mois, puis avoir une inflexion virale qui produit 6 mois de croissance explosive, puis plafonner. Trois segments linéaires s'ajustent mieux à cela que n'importe quelle courbe unique.

Cône de prévision : l'estimation centrale plus les bornes supérieures et inférieures, tracées sous forme d'un cône s'élargissant dans le futur. La largeur du cône croît avec le temps car l'incertitude se compose. Une prévision de 4 semaines peut avoir des bornes ±10 % ; une prévision de 12 mois a souvent ±50 % ou plus.

Décomposition de saisonnalité : la demande réelle combine tendance + cycle saisonnier + bruit. Les bibliothèques statistiques (statsmodels, Prophet) décomposent une série en ces trois composantes, permettant à la tendance d'être projetée séparément du schéma saisonnier. Géométriquement, la tendance est la dérive sous-jacente, la saisonnalité est l'ondulation périodique sur le dessus, & le bruit est le tremblement résiduel.

Cône de prévision : ligne de tendance, ondulations saisonnières, bornes d'incertitude élargissantes

Choisir un modèle de tendance

Vous avez 24 mois de volumes de requêtes mensuels. Les mois 1-12 sont passés de 1M à 2M (semblant linéaire, +83K/mois). Les mois 13-18 sont passés de 2M à 4M (plus raide, +330K/mois). Les mois 19-24 sont passés de 4M à 12M (beaucoup plus raide encore). Le marketing confirme qu'une fonctionnalité de produit virale a été lancée en mois 13 entraînant l'inflexion.

Quel modèle de tendance s'ajuste le mieux : purement linéaire, purement exponentiel, ou linéaire par morceaux ? Justifiez votre choix en utilisant le comportement de la pente. Proposez ensuite comment prévoir les mois 25-30 : estimation centrale explicite, borne supérieure, & borne inférieure. Quel événement du monde réel pourrait casser l'une ou l'autre borne ?

Capacité vs Demande sous forme de géométrie 2D

Le graphique dans lequel vit chaque équipe de planification de capacité

Tracez le temps sur l'axe des x. Tracez la demande & la capacité sur l'axe des y sous forme de deux lignes séparées. L'écart vertical entre elles à tout moment est la marge. La zone 2D entre les courbes est l'enveloppe de marge.

Trois formes de référence :

- Enveloppe saine : la ligne de capacité reste confortablement au-dessus de la ligne de demande. L'écart peut se réduire pendant les pics mais ne disparaît jamais. L'enveloppe est une bande de sécurité.

- Enveloppe qui se referme : la capacité croît plus lentement que la demande. L'écart se rétrécit avec le temps. Le point d'intersection dans le futur est quand le système manque de marge : la date à laquelle l'équipe doit ajouter de la capacité.

- Enveloppe inversée : la demande dépasse la capacité. Le système est en territoire d'incident. L'amplitude verticale de l'inversion est le déficit qui doit être desservi d'une manière ou d'une autre (débordement de file, taux d'erreur, impact client).

Le graphique de planification de capacité standard trace :

- Historique de demande récente (ligne bleue solide)

- Prévision de demande avec bornes (ligne pointillée + cône hachuré)

- Capacité actuelle (ligne verte solide)

- Ajouts de capacité planifiés avec dates de livraison (fonction en escalier)

- La date d'intersection où la demande prévue dépasse la capacité actuelle : c'est le délai pour le provisionnement suivant

La règle de décision visuelle : gardez la fonction en escalier de capacité au-dessus de la borne supérieure du cône de prévision à tout moment. Ne provisionnez pas pour l'estimation centrale ; provisionnez pour la borne supérieure. Le coût du surprovisionnement est fini (une certaine capacité inactivité) ; le coût du sous-provisionnement est illimité (utilisateurs perdus, défaillance en cascade, dégâts à la réputation).

Enveloppe de marge : ligne de demande, fonction en escalier de capacité, cône de prévision, date d'intersection

Lire l'enveloppe

Votre graphique de capacité montre : la demande actuelle est de 1 500 RPS en croissance de 20 % par mois. La capacité actuelle est de 2 500 RPS. Un nouveau lot de serveurs (+1 500 RPS de capacité) arrive en 8 semaines. Le cône de prévision a des bornes ±15 % à l'horizon de 8 semaines.

Calculez la date à laquelle la demande prévue (estimation centrale, borne supérieure) dépasse la capacité actuelle. Le nouveau lot de serveurs arrivera-t-il à temps ? Quelle est la forme visuelle de l'enveloppe entre maintenant & l'arrivée du nouveau lot, & quelle action prendriez-vous si la demande de la borne supérieure dépasse la capacité actuelle avant l'arrivée du nouveau lot ?

Géométrie de la capacité : résumé

Formes qui prédisent l'avenir

Vous avez parcouru quatre structures géométriques qui tournent sous la planification de capacité :

- La loi de Little (L = λ × W) comme la surface d'un rectangle définissant l'occupation en régime permanent

- La courbe de file d'attente avec son coude à 80 % d'utilisation, codant le coût non linéaire de fonctionner chaud

- Les pentes de tendance & les cônes de prévision qui transforment les données historiques en projections exploitables

- Les enveloppes de marge comme des graphiques 2D de capacité vs demande, avec des dates d'intersection marquant les délais de provisionnement


La planification de capacité est, au cœur visuel, la discipline de garder une courbe en toute sécurité au-dessus d'une autre au fil du temps. Les chiffres sont de la décoration ; les formes portent la vérité. Un ingénieur de capacité qui lit correctement la courbe de file d'attente attrape les problèmes qu'un tableau de bord CPU cache jusqu'à ce que le système brûle déjà.


La leçon compagne sur la planification de capacité couvrait les pratiques : mesure, prévision, tests de plafond, marge, & mise à l'échelle. Cette leçon couvrait la géométrie sous-jacente. Ensemble, elles forment l'échafaudage visuel & analytique de l'exécution de services qui se mettent à l'échelle sans surprise.