p95 hat sich letzte Woche verdoppelt, und das Plenum stimmt über die falsche Sache ab.

Leistungsrückgänge sind in den meisten Fällen mit einem hohen Diagnoseaufwand und einem geringen Korrekturaufwand verbunden. Das Team, das die N+1-Abfrage bereits entdeckt hat, weiß, dass die Behebung nur wenig Aufwand erfordert. Das Team, dem dies noch nicht gelungen ist, stimmt über eine Story ab, deren tatsächlicher Inhalt lautet: „Drei Tage damit verbringen, Flame-Graphs zu lesen.“ Das sind zwei unterschiedliche Stories.

Zwei Fragen sind für die Schätzung entscheidend. Erstens: Ist die Ursache bekannt? Falls ja, ermitteln Sie den Aufwand für die Behebung. Falls nein, ermitteln Sie den Aufwand für die Untersuchung. Zweitens: Welches SLO wurde durch die Regression verletzt, und bis wann muss es wiederhergestellt sein? Eine Regression, die ein kundenrelevantes SLO verletzt, weist ein anderes Dringlichkeitsprofil auf als eine 10-prozentige Verlangsamung, die niemand bemerkt hat.

Was in dem Raum gesagt wird

SRE: „Der p95-Wert ist am vergangenen Mittwoch von 200 ms auf 450 ms gestiegen.“

Backend: „Gab es an diesem Tag irgendetwas Auffälliges bei den Deploys?“

Einleitung: „Drei Bereitstellungen. Keine davon betraf den langsamen Endpunkt.“

Backend: „Oder es sah zumindest nicht so aus, als hätten sie den langsamen Endpunkt aufgerufen.“

SRE: „Liegen wir im Rahmen des SLO? Haben wir Zeit für eine gründliche Untersuchung?“

Fragen, die man sich vor der Stimmabgabe stellen sollte

  • Ist die Ursache bekannt, oder planen wir gerade eine Untersuchung?
  • Was ist das SLO, und wird es derzeit überschritten?
  • Was hat sich zwischen dem letzten günstigen Zeitfenster und dem ersten ungünstigen Zeitfenster geändert?
  • Verfügen wir über Flammendiagramme, Ablaufverfolgungen oder lediglich über Dashboards?
  • Ist ein Rollback eine sinnvolle Abhilfemaßnahme, während wir den Vorfall untersuchen?

Sollte die Ursache noch im Unklaren sein, handelt es sich hierbei um einen zeitlich begrenzten Testlauf und nicht um eine endgültige Lösung – und sollte ein SLO überschritten werden, verschafft ein Rollback die nötige Zeit, um den Testlauf ohne Zeitdruck durchzuführen.

Legen Sie die Größe fest, die Sie tatsächlich haben, und nicht die, die Sie sich wünschen. Eine unbekannte Ursache bedeutet, dass Sie den Suchumfang festlegen.

Ähnlich wie bei der Einschätzung eines Fehlers, der sich nicht reproduzieren lässt, liegt der Aufwand in der Diagnose. Sehen Sie sich die anderen Beispiele für Einschätzungen an oder starten Sie eine kostenlose Planning-Poker-Sitzung, sobald die Ursache benannt ist.