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. Solution Architect Video und Unified Communications (w/m/d)
    Dataport, Altenholz/Kiel, Bremen, Halle (Saale), Hamburg, Magdeburg, Rostock
  2. Consultant / Product Owner (m/w/d)
    SEITENBAU GmbH, Konstanz (Home-Office möglich)
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 Akademie
  1. Jira für Anwender: virtueller Ein-Tages-Workshop
    03.06.2022, virtuell
  2. IT-Grundschutz-Praktiker mit Zertifikat: Drei-Tage-Workshop
    04.-06.07.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
Sicherheitslücke
Die Schadsoftware, die auf ausgeschalteten iPhones aktiv ist

Forschern ist es gelungen, eine Schadsoftware auf ausgeschalteten iPhones mit vermeintlich leerem Akku auszuführen. Denn ganz aus sind diese nicht.

Sicherheitslücke: Die Schadsoftware, die auf ausgeschalteten iPhones aktiv ist
Artikel
  1. Bundeswehr: Das Heer will sich nicht abhören lassen
    Bundeswehr
    Das Heer will sich nicht abhören lassen

    Um sicher zu kommunizieren, halten die Landstreitkräfte in NATO-Missionen angeblich ihre Panzer an und verabreden sich "von Turm zu Turm".
    Ein Bericht von Matthias Monroy

  2. IETF, Julia, Tesla, Bitcoin: DNS über Quic spezifiziert
    IETF, Julia, Tesla, Bitcoin
    DNS über Quic spezifiziert

    Sonst noch was? Was am 17. Mai 2022 neben den großen Meldungen sonst noch passiert ist, in aller Kürze.

  3. Milliarden-Übernahme: Musk spricht von günstigerem Übernahmeangebot für Twitter
    Milliarden-Übernahme  
    Musk spricht von günstigerem Übernahmeangebot für Twitter

    Mit Blick auf die Zählung von Spam-Konten bei Twitter hat Elon Musk gefragt, ob die mehr als 200 Millionen Twitter-Nutzer angerufen worden seien.

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 • Cyber Week: Bis zu 400€ Rabatt auf Gaming-Stühle • AOC G3 Gaming-Monitor 34" UWQHD 165 Hz günstig wie nie: 404€ • Xbox Series X bestellbar • MindStar (u.a. Gigabyte RTX 3090 24GB 1.699€) • LG OLED TV (2021) 65" 120 Hz 1.499€ statt 2.799€ [Werbung]
    •  /