QualitätsmerkmalKapitel I · Anforderungen · Baustein 5 von 6

Performance

Performance beschreibt zeitliches Verhalten und Kapazität eines Systems. Aussagekräftige Messungen nennen Last, Messpunkt und Einheit.

  1. AntwortzeitDauer vom Klick bis zur Bestätigung.
  2. DurchsatzWie viel das System pro Sekunde schafft.
  3. LastkontextJeder Wert braucht dieselbe Last.

Einordnung

Warum das wichtig ist

Eine Zahl ohne Last, Messpunkt und Einheit lässt sich nicht prüfen. Perzentile zeigen Ausreißer, die der Median verdeckt. Kurz vor der Sättigung steigt die Antwortzeit sprunghaft, weil Anfragen warten.

Hier legst du fest und misst, wie schnell und in welchem Umfang das System Anfragen verarbeitet. Wie die Architektur das erreicht, zeigen die Taktiken unten; Zustände unter Last behandeln Backpressure und Timeout.

Auf einen Blick · Last, Antwortzeit und Durchsatz

Unter einer benannten Last zeigt ein System Antwortzeit und Durchsatz; ohne Lastangabe sind beide Werte nicht vergleichbar.
Shop-Beispiel · Stufen durchspielen

Performance-Messung bei steigender Last

Das Team misst den Abschluss einer Bestellung mit illustrativen Testdaten. Die Messung umfasst Shop-Verarbeitung und simulierte Antwort des Zahlungsanbieters.

So liest du das Bild

  1. Antwortzeit Median und 95. Perzentil steigen, sobald du die Last erhöhst.
  2. Durchsatz Die Zeile Durchsatz hört bei 24 Bestellungen/s auf zu wachsen.
  3. Lastkontext Jede Stufe nennt die Last; erst damit sind die vier Werte vergleichbar.
  • 420 msAntwortzeit Median
  • 780 msAntwortzeit 95. Perzentil
  • 20 Bestellungen/sDurchsatz
  • 55 %CPU Shop-Prozess

Bei 20 Anfragen/s liegt das 95. Perzentil bei 780 ms, knapp unter der 800-ms-Schwelle.

Werte illustrativ

Verändere die Last und lies Antwortzeit, Durchsatz und CPU getrennt ab. Prüfe, ab wann das 95. Perzentil 800 ms überschreitet. Achte bei 30 Anfragen/s auf die CPU.

Taktiken

So erreicht die Architektur das Ziel

Dieser Baustein legt fest und misst, wie schnell und wie viel das System verarbeitet; die Taktiken unten sind eigene Bausteine, die dieses Ziel erreichen.

  1. Last senken

    Der Shop beantwortet häufige Katalogabfragen aus gespeicherten Ergebnissen statt aus der Datenbank.

  2. Last steuern

    Bestellspitzen werden angenommen und gleichmäßig abgearbeitet, statt das System zu überrollen.

  3. Ressourcen verteilen

    Bestell- und Katalogdaten liegen auf mehreren Einheiten, sodass Lesen und Schreiben sich verteilen.

Nutzen & Grenzen

Hilft, wenn

  • Eine erwartete Lastspitze verlangt einen Nachweis für Antwortzeit und Verarbeitungskapazität.
  • Antwortzeiten steigen und die Ursache muss entlang von Aufrufen und Ressourcen eingegrenzt werden.

Grenzen

  • Ein Lasttest misst nur das getestete Profil: Echte Datenmengen, kalte Caches und Netzwerkschwankungen verschieben die Werte in Produktion. Miss im Betrieb mit SLIs nach.
  • Mehr Kapazität kann Kosten erhöhen, ohne den Engpass zu beseitigen. Finde den Engpass zuerst: Miss Ressourcen und Wartezeiten pro Abhängigkeit und verfolge das Ergebnis als SLI.

In der Praxis

  1. Messpunkt und Lastprofil festlegen. Bestimme, wann die Messung beginnt und endet und welche parallele Nutzung sie abbildet. Das Ergebnis macht verschiedene Läufe vergleichbar.
  2. Ablauf und Ressourcen instrumentieren. Erfasse Antwortzeitverteilung, Durchsatz und Auslastung entlang der beteiligten Schritte. Verknüpfe diese Werte mit einem messbaren Qualitätsattribut.
  3. Eine Ursache ändern und erneut messen. Verändere gezielt den ermittelten Engpass und wiederhole denselben Test. Ein SLI kann anschließend zeigen, ob die Verbesserung auch im Betrieb anhält.
Ausführliche Erklärung lesen

Antwortzeit beschreibt die Dauer einer einzelnen Anfrage, Durchsatz die Zahl verarbeiteter Vorgänge pro Zeit. Ressourcenverbrauch zeigt, welche Kapazität diese Leistung benötigt. Die Werte hängen von Lastprofil, Datenmenge und Abhängigkeiten ab. Qualitätsattribute liefern das übergeordnete Szenario; SLIs, SLOs & Error Budgets ordnen Messung und Zielwerte in den Betrieb ein.

Durchschnittswerte können langsame Randfälle verdecken. Perzentile und repräsentative Lastprofile zeigen, wie viele Nutzer von Verzögerungen betroffen sind. Eine Messung entlang des vollständigen Ablaufs hilft, den Engpass von Symptomen zu unterscheiden. Kapazitätserhöhung ist erst dann wirksam, wenn sie die gemessene Ursache adressiert.

Littles Gesetz (Little's Law) verbindet die drei Größen: Die Zahl gleichzeitig bearbeiteter Vorgänge entspricht dem Durchsatz mal der Antwortzeit. Im Shop sind das bei 20 Anfragen/s und 0,42 s etwa 8 Bestellungen gleichzeitig. Daraus leitest du die Größe von Thread-Pools und Verbindungen ab.

Selbst prüfen

Teste dich in drei Stufen

  1. AblesenIm Bild nachsehen

    Bei welcher Last überschreitet das 95. Perzentil 800 ms, was macht der Durchsatz dort, und was zeigt die CPU?

    Lösung mit Begründung ansehen

    Bei 30 Anfragen/s (2.600 ms). Der Durchsatz bleibt bei 24 Bestellungen/s stehen, die CPU liegt bei etwa 66 % und hat noch Luft.

  2. AnwendenAuf eine neue Lage übertragen

    Das Team will bei 30 Anfragen/s doppelt so viele CPU-Kerne buchen. Was prüfst du vorher?

    Lösung mit Begründung ansehen

    Die CPU liegt bei etwa 66 % und ist nicht der Engpass. Miss zuerst Wartezeiten und Verbindungen zum Zahlungsanbieter, z. B. mit der USE-Methode (Auslastung, Sättigung, Fehler pro Ressource).

  3. BewertenEine Alternative abwägen

    Soll das Team nur den Median berichten, weil er sich gut vermitteln lässt?

    Lösung mit Begründung ansehen

    Der Median ist einfach und stabil. Er verdeckt jedoch die langsamsten Antworten. Zusammen mit dem 95. Perzentil zeigt er, wie sich der typische Fall und der langsame Rand unterscheiden.

Weiter im Lernpfad

Als Nächstes in Anforderungen & Qualität: Änderbarkeit.