Der Blog

Post-Mortem-Ausfall – 14. April 2014

von Tony Albanese 28. April 2014 | 2 Minuten Lesezeit

Am 14. April kam es bei PagerDuty zu einem Ausfall, der sowohl die mobilen als auch die Web-Anwendungen der Kunden betraf. Während des Ausfallzeitraums hatten Kunden möglicherweise Probleme bei der Verwaltung ihrer Konten und einige Benachrichtigungen wurden verzögert. Wenn solche Vorfälle auftreten, stellen wir sicher, dass wir unseren Kunden, die möglicherweise negativ betroffen waren, Transparenz bieten. Wir entschuldigen uns für etwaige Serviceausfälle und setzen uns dafür ein, dass sich solche Probleme in Zukunft nicht wiederholen.

Was ist passiert?

Eine erhöhte Arbeitslast auf unserem Ereignisverarbeitungssystem führte zu einer Leistungsminderung in der Arbeitswarteschlange. Obwohl diese Arbeitslast etwas ungewöhnlich ist, kommt sie nicht unerwartet und sollte nur zu einer Verzögerung der Verarbeitung führen. Die verringerte Leistung führte jedoch zu Timeouts in einem Upstream-System mit einer Wiederholungsrichtlinie bei Fehler. Die Wiederholungsversuche verursachten letztendlich eine erhebliche Belastung unserer Systeme, was zu Verfügbarkeitsproblemen für einen Zeitraum von etwa 30 Minuten führte. Obwohl keine Ereignisse verloren gingen und alle Warnungen gesendet wurden, wurden 39 % der Ereignisse während des Ausfalls über unsere 5-Minuten-SLA hinaus verzögert.

Wie haben wir reagiert?

Sehr bald nach dem Auftreten der Verfügbarkeitsprobleme begannen unsere Betriebs- und Entwicklungsteams mit der Arbeit, um das Problem zu beheben. Bald darauf wurden Maßnahmen ergriffen, um die Belastung des Systems zu verringern, indem durch die Wiederholungsversuche verursachte doppelte Warteschlangenereignisse entfernt wurden, wodurch unsere Systeme wieder in den Normalbetrieb zurückkehrten.

Was tun wir dagegen?

Kurzfristig haben wir die Wiederholungsrichtlinie im Upstream-System sofort angepasst, um sicherzustellen, dass eine erwartete Verlangsamung nicht zu einer Reihe unerwünschter Wiederholungsversuche führt. Langfristig haben wir zwei Initiativen ins Leben gerufen, die verhindern sollen, dass sich dies wiederholt. Die erste besteht darin, Timeout- und Wiederholungsrichtlinien auf breiter Front neu auszubalancieren, zusammen mit entsprechenden Ergänzungen wie der idempotenten Anforderungsverarbeitung (wo angemessen). Die zweite ist die Trennung der Ereignisverarbeitung von unseren kundenorientierten Anwendungen, um eine stärkere Isolierung zu gewährleisten, die es uns ermöglicht, Zuverlässigkeit und Leistung besser zu verwalten.

Wir entschuldigen uns, wenn dieser Ausfall die Fähigkeit Ihres Teams beeinträchtigt hat, rechtzeitig Benachrichtigungen zu erhalten. Wie immer können Sie uns bei Fragen oder Bedenken unter folgender Adresse kontaktieren: support@pagerduty.com .