Ausfall: Slack erklärt "Paradebeispiel für komplexes Systemversagen"

Ein Ausfall von Slack im Februar resultierte aus einem kaskadierenden Fehler, den das Team aufgrund der Komplexität nur schwer beheben konnte.

Artikel veröffentlicht am ,
Slack hatte große Probleme mit seinem komplexen System.
Slack hatte große Probleme mit seinem komplexen System. (Bild: Brendan McDermid/Reuters)

In seinem Engineering-Blog beschreibt ein Technikteam des Messengerdienstes Slack Ursachen und Fehlerbehebung eines Ausfalls im vergangenen Februar. Dabei hält das Team schon zu Beginn eine wohl eher unbequeme Erkenntnis fest: "Dieser Vorfall war ein Paradebeispiel für ein komplexes Systemversagen: Es gab eine Reihe von Faktoren, die dazu beitrugen, und ein Teil des Vorfalls bestand aus einem kaskadenartigen Fehlerszenario."

Stellenmarkt
  1. Fachinformatiker oder Informatiker (w/m/d) für Medizinische Fachsysteme und ehealth - Schwerpunkt ... (m/w/d)
    Universitätsklinikum Hamburg-Eppendorf, Hamburg
  2. IT-Systemadministrator / Netzwerkadministrator (m/w/d) (Informatiker, Techniker o. ä.)
    SCHEUERLE Fahrzeugfabrik GmbH, Pfedelbach
Detailsuche

Der Ausfall des Systems machte sich dem Beitrag zufolge dadurch bemerkbar, dass Nutzer Probleme damit hatten, sich am Morgen (US-Zeitzonen) mit dem Messenger zu verbinden. Unabhängig davon erhielt das Team automatische Fehlermeldungen des Alarmsystems.

Die Probleme zeigten sich laut dem Blogpost an der Technik durch einen deutlichen Anstieg der Last der Datenbanksystemen. Das Team schreibt: "Was anfangs nicht klar war, war die Frage, warum die Datenbank so stark belastet wurde (..) und wie wir zu einem normalen Betriebszustand gelangen konnten." Lösen konnte das Slack demnach nur durch eine größere interne Kooperation unter Beteiligung mehrerer Teams.

Die zunächst naheliegende Lösung, zur Lastvermeidung die Anzahl neuer Clients zu reduzieren, die sich mit neu mit dem System verbanden, und anschließend diese Zahl wieder langsam zu erhöhen, hatte aber nicht den erhofften Erfolg. Das Team war offenbar schlicht zu ungeduldig und erzeugte zu schnell wieder zu viel Last, ohne den zugrunde liegenden Fehler zu beheben.

Komplexes System mit komplexen Interaktionen

Golem Karrierewelt
  1. Linux-Shellprogrammierung: virtueller Vier-Tage-Workshop
    04.-07.07.2022, Virtuell
  2. Microsoft Azure Administration: virtueller Zwei-Tage-Workshop
    22./23.08.2022, virtuell
Weitere IT-Trainings

Zur Ursachensuche schreibt das Team: "Wie kam es dazu, dass wir von einem stabilen Auslieferungszustand in einen Zustand der Überlastung gerieten? Die Antwort lag in den komplexen Interaktionen zwischen unserer Anwendung, den Vitess-Datenspeichern, dem Caching-System und unserem Service Discovery System." Bei Vitess handelt es sich um ein Datenbank-Cluster-System für MySQL, das gestartet wurde, um die Skalierungsprobleme von Youtube zu lösen.

Ausgangspunkt war den Angaben zufolge ein Upgrade von Consul, das für Service Discovery genutzt wird. Wie schon mehrfach zuvor sollten dabei nur 25 Prozent der Server aktualisiert werden. Das hatte zwar zuvor geklappt, zusammen mit einer gestiegenen Last durch die Clients führte es aber letztlich am Tag es Ausfalls von Slack zu bisher unbekannten Problemen.

Microsoft 365 Family | 6 Nutzer | Mehrere PCs/Macs, Tablets und mobile Geräte | 1 Jahresabonnement | Download Code

Mit den Upgrades von Consul wurden nach und nach die davon überwachten Cache-Knoten offline genommen. Die Automatisierung von Slack startete dann zwar ersatzweise neue Knoten mit Memcached, letztlich führte der Updateprozess aber dazu, dass sich die Cache Hit Rate immer stärker verringerte.

Da die Abfragen im Cache nicht erfolgreich waren, wurden die eigentlichen Datenbanken verstärkt angefragt, die aufgrund einer spezifischen Anfrage und der Verteilung der angefragten Daten im System immer mehr unter Last gerieten. Dazu schreibt das Team: "Die Datenbank war überfordert, da die Leselast im Verhältnis zum Prozentsatz der Cache Misses superlinear anstieg." Die Systeme erreichten laut Slack schließlich einen Kipppunkt, ab dem sich der Fehler selbst weiter verstärkte.

Das Team reduzierte zum Beheben der Probleme zunächst die Anzahl sich verbindender Clients, verbesserte die ineffiziente Datenbankabfrage, um nur noch jene Daten zu lesen, die tatsächlich im Cache fehlten, und die Datenbank-Replicas wurden als Systeme zum Lesezugriff bereitgestellt. Letztlich konnte der Cache so wieder aufgefüllt werden, bis alle Clients ihre Daten wieder daraus erhalten konnten.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Aktuell auf der Startseite von Golem.de
Cloud Cam
Amazon macht eigene Überwachungskamera unbrauchbar

Eine fünf Jahre alte Überwachungskamera wird noch dieses Jahr von Amazon außer Betrieb genommen. Kunden erhalten Ersatz, der vielen aber nichts nützt.

Cloud Cam: Amazon macht eigene Überwachungskamera unbrauchbar
Artikel
  1. 30 Jahre Alone in the Dark: Als der Horror filmreif wurde
    30 Jahre Alone in the Dark
    Als der Horror filmreif wurde

    Alone in the Dark feiert Geburtstag. Das Horrorspiel war ein Meilenstein bei der filmreifen Inszenierung von Games. Wie spielt es sich heute?
    Von Andreas Altenheimer

  2. Deutsche Telekom: Spezieller Smartphone-Tarif für Flüchtlinge aus der Ukraine
    Deutsche Telekom
    Spezieller Smartphone-Tarif für Flüchtlinge aus der Ukraine

    Wenn Flüchtlinge aus der Ukraine eine kostenlose SIM-Karte der Deutschen Telekom nutzen, können sie bald in den neuen Tarif wechseln.

  3. Update-Installation dauert: Störungen bei Kartenzahlungen im Einzelhandel bleiben
    Update-Installation dauert
    Störungen bei Kartenzahlungen im Einzelhandel bleiben

    Es gibt ein Update, um die Zahlungsstörungen mit Giro- oder Kreditkarte zu beseitigen. Die Verteilung des Updates braucht aber noch Zeit.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • Alternate (ASUS VG30VQL1A QHD/200 Hz 329€ statt 399,90€ im Vergleich) • Apple iPhone 12 128 GB 669€ statt 699€ im Vergleich• Prime Video: Filme leihen für 0,99€ • Gigabyte RTX 3080 12 GB ab 1.024€ • Mindstar (u. a. MSI MPG X570 Gaming Plus 119€ statt 158,90€ im Vergleich) [Werbung]
    •  /