Dies ist eine maschinelle Übersetzung; das englische Original ist die maßgebliche Fassung. Original lesen

Warum ein zu 99 % ausgelastetes System nicht nur geringfügig schlechter ist als ein zu 75 % ausgelastetes

A young woman cooks alone behind the counter of a small lantern-lit noodle bar while a long queue of people with umbrellas waits along a rain-soaked street outside, bicycles at the kerb and a cat asleep on a stool.

Die Auslastung von 75 % auf 99 % zu steigern bedeutet ein Drittel mehr Last. Es ist die dreiunddreißigfache Warteschlange.

00.250.50.75105101520ρ=0.5 → 1ρ=0.75 → 3ρ=0.9 → 9ρ=0.95 → 19L = ρ / (1 − ρ)ρ=0.99 → 99OFF THIS CHART
Die Warteschlange ist nicht lang, weil die Last hoch ist. Sie ist lang, weil die Restkapazität gering ist.

Öffnen Sie den M/M/1 Queue Simulator mit seinen Standardeinstellungen. Es treffen drei Aufgaben pro Stunde ein, der Server verarbeitet vier pro Stunde, und die Anzeige weist eine Auslastung von 0,750 mit 3,000 Elementen im System aus, von denen 2,250 warten.

Fünfundzwanzig Prozent freie Kapazität und eine Warteschlange von drei. Das klingt bereits schlechter, als es sein sollte.

Diese vier Zahlen demonstrieren auch das eine Ergebnis der Warteschlangentheorie, das man sich merken sollte. Die Ankunftsrate beträgt 3 pro Stunde, die durchschnittliche Verweildauer im System beträgt 1,000 Stunden und die durchschnittliche Anzahl im System beträgt 3,000. Das ist der Satz von Little, L = λW, und seine bemerkenswerte Eigenschaft ist, dass er keinerlei Annahmen über die Verteilungen trifft. Ändert man das Ankunftsmuster, ändert man die Bedienzeiten, fügt man Server hinzu – für jede stabile Warteschlange behält er seine Gültigkeit. Fast alles Weitere weiter unten hängt von den Modellannahmen ab; dies hier nicht.

Eine Formel und wo das Problem liegt

Für diese Warteschlange beträgt die durchschnittliche Anzahl im System L = ρ / (1 − ρ), wobei ρ, gesprochen „Rho“, die Auslastung ist. Die Standardeinstellung des Werkzeugs setzt dort 0,75 ein und ergibt genau die 3,000 auf dem Bildschirm.

Der Zähler ist die Last. Der Nenner ist die Restkapazität, und der Nenner ist es, der alles entscheidet. Wenn ρ sich 1 nähert, nähert sich die Restkapazität null, und die Division durch eine Zahl, die sich null nähert, bewirkt das, was sie immer bewirkt.

  • ρ = 0,50 → L = 1
  • ρ = 0,75 → L = 3
  • ρ = 0,90 → L = 9
  • ρ = 0,95 → L = 19
  • ρ = 0,99 → L = 99

Betrachten Sie diese Spalte aus der Sicht einer Führungskraft: Der Sprung von halber Auslastung auf 99 % Auslastung bedeutet nicht die doppelte Arbeit, sondern das 1,98-Fache an Arbeit – und die neunundneunzigfache Warteschlange. Die letzten vier Prozentpunkte, von 95 bis 99, kosten mehr Warteschlange als der gesamte Weg von 0 bis 95.

Warum der Ausfall keine Warnphase hat

Dieser Verlauf erklärt ein Muster, das jeder kennt, der einmal einen Dienst betrieben hat. Die Auslastung steigt über Monate hinweg schleichend an, und nichts passiert. Die Antwortzeiten sind bei 60 % gut, bei 70 % gut, bei 85 % etwas schlechter. Dann, in einer Woche, ist das System unbenutzbar, obwohl sich die Last in dieser Woche kaum von der Last der Vorwoche unterscheidet.

Es gab keine Klippe bei der Last. Die Klippe liegt in der Formel, und eine Warteschlange ist ein schlechtes Frühwarnsystem für ihren eigenen Zusammenbruch, weil sich der Schaden auf die letzten paar Prozent konzentriert.

Es erklärt auch, warum die Abhilfe so oft „einen weiteren Server hinzufügen“ lautet statt „den Server schneller machen“. Die Erweiterung der Kapazität verschiebt ρ auf der Kurve nach unten, und der Hebel einer Verschiebung von 0,95 auf 0,90 ist genau deshalb enorm, weil die Kurve dort steil verläuft.

Die Voreinstellung ohne Ergebnis

Das Werkzeug enthält drei Voreinstellungen, und die dritte ist die interessante. Geringe Last läuft bei ρ = 0,4. Hohe Last läuft mit 3,8 gegenüber 4,0, sodass ρ = 0,95 und L = 19 gilt, was der obigen Tabelle entspricht.

Die dritte ist als instabil gekennzeichnet und setzt die Ankünfte auf 4,2 gegenüber einer Bedienrate von 4,0. Das ergibt ρ = 1,05, und es gibt keinen berechenbaren Wert für den stationären Zustand. Es trifft mehr Arbeit ein, als abgearbeitet werden kann, die Warteschlange wächst schrankenlos, und die Formel liefert eine negative Zahl – die Art der Mathematik, einem mitzuteilen, dass die Frage schlecht gestellt war.

Ein System mit ρ > 1 pendelt sich nicht in einem schlechten Zustand ein. Es hat gar keinen Zustand. Jede Stunde ist der Rückstand größer als in der Stunde zuvor, und nichts außer einer Reduzierung der Ankünfte oder einer Erhöhung der Kapazität wird daran jemals etwas ändern. Verfolgt man die Simulation, wandert die Warteschlange schlicht über den oberen Rand des Diagramms hinaus.

Zwei erwähnenswerte Annahmen

M/M/1 nimmt an, dass die Ankünfte Poisson-verteilt sind und die Bedienzeiten exponentialverteilt, was bedeutet, dass beide gedächtnislos sind: Die Wahrscheinlichkeit einer Ankunft in der nächsten Sekunde hängt nicht davon ab, wie lange man gewartet hat. Realer Datenverkehr ist oft stoßhafter, und diese Stoßhaftigkeit macht die Warteschlange länger, nicht kürzer.

Die obigen Zahlen sind also optimistisch. Die eigentliche Erkenntnis bleibt von den Annahmen dennoch unberührt, da sie sich aus dem 1 − ρ im Nenner ergibt und nicht aus den Details der Verteilungen. Jedes System mit variablen Ankünften und endlicher Kapazität trifft an derselben Stelle auf dieselbe Wand.

Eine Auslastung von 100 % anzustreben ist keine Effizienz. Es ist der Wunsch nach einer unendlichen Warteschlange.