Grundlagen

Little's Law im Lasttest: Tests dimensionieren und prüfen

6 Min. Lesezeit

Little’s Law im Lasttest besagt, dass die durchschnittliche Zahl der Benutzer oder Anfragen in einem System gleich der Rate ist, mit der sie es durchlaufen, mal der durchschnittlichen Zeit, die jede dort verbringt: L = λW. Bei einer festen Zahl virtueller Benutzer heißt das Benutzer = Durchläufe pro Sekunde × (Antwortzeit + Think Time), und damit sehen Sie vor einem Lauf, ob ein Plan seine Zielrate erreichen kann, und danach, ob die Ergebnisse zusammenpassen. Die Formel arbeitet mit Durchschnitten über eine stabile Phase des Tests und sagt deshalb nichts über Perzentile.

Die Rechenbeispiele unten sind reine Arithmetik ohne Testlauf dahinter. Die Fakten zu Tools stammen aus der Dokumentation der jeweiligen Projekte, geprüft am 9. Oktober 2026.

GrößeLittles DefinitionFeste virtuelle Benutzer (geschlossenes Modell)Ankunftsrate (offenes Modell)
LDurchschnittliche Zahl der Einheiten im SystemVirtuelle Benutzer, wartend oder pausierendLaufende Iterationen
λDurchschnittliche AnkunftsrateAbgeschlossene Durchläufe pro SekundeDie eingestellte Rate
WDurchschnittliche VerweilzeitAntwortzeit + Think Time pro DurchlaufDauer einer Iteration

Was besagt Little’s Law?

Die langfristige durchschnittliche Zahl der Einheiten in einem Warteschlangensystem ist gleich ihrer durchschnittlichen Ankunftsrate mal der durchschnittlichen Zeit, die jede darin verbringt. Kennen Sie zwei der drei Größen, können Sie die dritte ausrechnen.

John D. C. Little veröffentlichte den Beweis 1961 in Operations Research unter dem Titel A Proof for the Queuing Formula: L = λW. In seinem Rückblick zum 50. Jubiläum von 2011 schreibt er, dass das Gesetz unter bemerkenswert allgemeinen Bedingungen gilt: für eine einzelne Warteschlange wie für ein ganzes Netz, für eine Teilklasse der Einheiten wie für alle, und unabhängig von der Bedienreihenfolge. Derselbe Text überträgt die Größen auf einen Server: Anfragen in Bearbeitung, Anfragen pro Sekunde und durchschnittliche Antwortzeit.

Was bedeuten L, λ und W in einem Lasttest?

Das hängt davon ab, wo Sie die Systemgrenze ziehen. Um den Server herum ist L die Zahl der laufenden Anfragen und W die Antwortzeit; um den ganzen Durchlauf eines virtuellen Benutzers herum ist L die Zahl aller virtuellen Benutzer und W die Antwortzeit plus Think Time.

In einem geschlossenen Test ist jeder Benutzer immer irgendwo in seinem Durchlauf: Er wartet auf eine Antwort oder pausiert zwischen zwei Schritten. Mit der Grenze um den Durchlauf zählen alle als „im System“, λ ist die Rate, mit der Durchläufe enden, und W die durchschnittliche Dauer eines Durchlaufs, einschließlich der Think Time, die das Skript einfügt:

Benutzer = Durchläufe pro Sekunde × (Antwortzeit + Think Time)

Um den Server herum liefert dasselbe Gesetz die gleichzeitig laufenden Anfragen: Anfragen pro Sekunde × durchschnittliche Antwortzeit, also die Zahl, die Ihre Connection-Pools und Worker-Threads aufnehmen müssen. Halten Sie alle drei Werte auf derselben Grenze und im selben Zeitabschnitt; gemischte Werte ergeben plausible, aber falsche Ergebnisse.

Wie dimensionieren Sie einen geschlossenen Test mit Little’s Law?

Rechnen Sie die Zielrate der Anfragen in Durchläufe pro Sekunde um und multiplizieren Sie mit der erwarteten Dauer eines Durchlaufs: Das Ergebnis ist die Zahl der virtuellen Benutzer, die der Plan braucht. Nehmen Sie die Antwortzeit, die Sie unter der Ziellast erwarten; sie liegt meist höher als bei wenigen Benutzern.

Ein Rechenbeispiel, nur Arithmetik. Ziel sind 100 Anfragen pro Sekunde, jeder Durchlauf schickt 4 Anfragen mit erwarteten 0,5 Sekunden pro Anfrage, und das Skript pausiert 3-mal im Schnitt 2 Sekunden:

Durchläufe pro Sekunde = 100 Anfragen/s ÷ 4 Anfragen = 25
Dauer pro Durchlauf    = 4 × 0,5 s + 3 × 2 s         = 8 s
virtuelle Benutzer     = 25 Durchläufe/s × 8 s       = 200

Betrachten Sie 200 als Untergrenze. Dauern die Antworten unter dieser Last 1 Sekunde, wird ein Durchlauf 10 Sekunden lang, und dasselbe Ziel braucht 250 Benutzer.

Warum schicken dieselben Benutzer weniger Anfragen, wenn das System langsamer wird?

Die Zahl der Benutzer ist fest, also müssen die Durchläufe pro Sekunde sinken, wenn ein Durchlauf länger dauert. Die Last fällt genau dann, wenn das System zu kämpfen beginnt.

Bleiben Sie bei den 200 Benutzern und lassen Sie jede Anfrage 2 Sekunden dauern. Ein Durchlauf dauert dann 4 × 2 + 6 = 14 Sekunden, und 200 ÷ 14 ergibt etwa 14,3 Durchläufe oder etwa 57 Anfragen pro Sekunde. Der Test zeigt weiter 200 Benutzer an, läuft aber nur mit gut der Hälfte der geplanten Rate. Der Artikel zum offenen vs geschlossenen Lastmodell erklärt, warum das eine Sättigung verbirgt; Little’s Law sagt die Größe des Einbruchs voraus.

Es zeigt auch, wie eine Kapazitätsgrenze aussieht. Kann die Anfragerate nicht weiter steigen, bringt jeder zusätzliche Benutzer nur Wartezeit: Bei einer Obergrenze von 25 Durchläufen pro Sekunde bedeuten 300 Benutzer 12 Sekunden pro Durchlauf und 400 Benutzer 16. Das LoadFocus-Diagramm Antwortzeit vs. virtuelle Benutzer trägt die durchschnittliche und maximale Antwortzeit gegen die Zahl aktiver virtueller Benutzer auf, ein Punkt pro erreichter Benutzerstufe; dort zeigt sich dieser gleichmäßige Anstieg.

Wie prüfen Sie einen abgeschlossenen Test mit Little’s Law?

Nehmen Sie die durchschnittliche Anfragerate und Antwortzeit aus einem Abschnitt mit konstanter Benutzerzahl, rechnen Sie daraus die Zahl der Benutzer zurück und vergleichen Sie sie mit Ihrer Konfiguration. Eine große Lücke heißt, dass Zeit an einer Stelle verloren geht, die Ihre Zahlen nicht zeigen.

Noch ein Rechenbeispiel. Ein Lauf hält 200 Benutzer und meldet 80 Anfragen pro Sekunde bei durchschnittlich 0,6 Sekunden, mit denselben 4 Anfragen und 6 Sekunden Pausen pro Durchlauf. Das sind 20 Durchläufe pro Sekunde zu je 4 × 0,6 + 6 = 8,4 Sekunden, genug für 168 Benutzer. Die übrigen 32 bedeuten, dass jeder Durchlauf in Wahrheit 10 Sekunden dauerte, also bleiben etwa 1,6 Sekunden pro Durchlauf unerklärt. Wo Sie suchen sollten:

  • Verbindungsaufbau. In k6 enthält http_req_duration weder DNS-Auflösung noch Verbindungsaufbau (Metrik-Referenz, geprüft am 9. Oktober 2026).
  • Der Lastgenerator. Ein ausgelasteter Generator verzögert das Skript zwischen den Anfragen.
  • Think Time. Zufällige Pausen können im Schnitt länger ausfallen als im Plan.
  • Das Zeitfenster. Überschneidet es sich mit einer Rampe, waren im Schnitt weniger Benutzer aktiv.

k6 misst den Durchlauf auch direkt: vus zählt die aktiven virtuellen Benutzer und iteration_duration die Dauer einer vollständigen Iteration, also sollten die aktiven Benutzer nahe bei Iterationen pro Sekunde × durchschnittlicher Iterationsdauer liegen.

Was gilt für Tests mit Ankunftsrate?

Das Gesetz gilt mit der Grenze um jede Iteration: Die laufenden Iterationen sind gleich der Ankunftsrate mal der Iterationsdauer. So viele virtuelle Benutzer muss das Tool bereithalten.

Die k6-Anleitung zur VU-Zuteilung für Arrival-Rate-Executors schätzt sie als mediane Iterationsdauer × Rate plus eine Konstante für die Streuung (geprüft am 9. Oktober 2026). Das ist Little’s Law mit dem Median an Stelle des Mittelwerts; einige langsame Iterationen ziehen den Mittelwert über den Median, deshalb zählt der Puffer.

LoadFocus führt k6-Skripte in seiner Cloud aus, und dort laufen Arrival-Rate-Szenarien mit einer festen Zahl von Benutzern; der Skript-Validator weist beim Hinzufügen eines solchen Skripts darauf hin. Dimensionieren Sie diese Tests mit der Rechnung für das geschlossene Modell und rechnen Sie damit, dass die Rate fällt, wenn die Antworten langsamer werden.

Wo hört Little’s Law auf zu funktionieren?

Das Gesetz verknüpft Durchschnitte über einen Abschnitt, in dem das System im Gleichgewicht ist. Perzentile, kurze Zeitfenster und Rampen liegen außerhalb davon.

  • Nur Durchschnitte. Ein Lauf kann das Gesetz erfüllen, während jede zwanzigste Anfrage zehnmal so lange wartet wie der Mittelwert; bewerten Sie Ergebnisse also auch nach Perzentilen.
  • Eine stabile Phase. Der Beweis von 1961 setzt einen stationären Prozess voraus, und der Rückblick von 2011 zeigt, dass die Formel auch über ein endliches Zeitfenster exakt gilt, das leer beginnt und leer endet. Ein Testplateau ist beides nicht, also wählen Sie ein langes, in dem so viele Benutzer Durchläufe beenden, wie neue beginnen.
  • Rampen. Während Benutzer hinzukommen, ist die konfigurierte Spitze nicht L: Nehmen Sie die zeitlich gemittelte Benutzerzahl des Fensters oder lassen Sie die Rampe weg.
  • Fehler. Schnelle Fehlschläge zählen als abgeschlossene Anfragen mit kurzer Dauer, sodass auch ein versagendes System die Gleichung erfüllt. Prüfen Sie zuerst die Fehlerrate.

FAQ

Braucht Little’s Law Poisson-Ankünfte oder eine bestimmte Warteschlange? Nein. Die Beweise in Littles Rückblick setzen nichts über das Ankunftsmuster oder die Bedienzeiten voraus, und das Ergebnis gilt unabhängig von der Bedienreihenfolge. Nötig sind nur Durchschnitte, die über den gemessenen Zeitraum existieren.

Kann Little’s Law p95-Antwortzeiten vorhersagen? Nein. Es verknüpft drei Durchschnitte und kann daher eine mittlere Antwortzeit prüfen, sagt aber nichts über die Form der Verteilung oder die langsamsten paar Prozent.

Weiterlesen


Die technischen Aussagen in diesem Artikel wurden nicht unabhängig geprüft.

LoadFocus team
Geschrieben vom LoadFocus-Team, den Leuten hinter einem Cloud-Lasttest-Dienst.