Störung der Mysql Datenbank auf Gaia am 28.08.2010

Leider kam es am Samstag den 28.08.2010 zu einer Störung der Mysql-Datenbank auf Gaia. Dabei war die Datenbank für ca. 20 Minuten nur eingeschränkt erreichbar. Dies hatte zur Folge das datenbankgestützte Webseiten in diesem Zeitraum teilweise nicht erreichbar waren. Wir möchten uns bei allen betroffenen Kunden für den Ausfall entschuldigen.

Fehleranalyse

Die Fehlerursache waren zu viele offene Datenbankverbindungen. Verursacht hat diese vielen Verbindungen die von uns verwendete Serververwaltungssoftware Syscp. Die Software schliesst die Verbindungen nicht in jedem Fall korrekt sondern schickt diese lediglich in den Zustand „Sleep“.

Wenn eine Mysql-Verbindung nicht geschlossen wird, dann beendet der Mysql-Server die Verbindung nach der Zeit in der Variable wait_timeout. Diese Zeit ist im Auslieferungszustand auf 28800 Sekunden eingestellt. Das sind 8 Stunden. In dieser Zeit können sich bei ausgiebiger Verwendung von Syscp einige Verbindungen ansammeln.

Die Maximale Anzahl an Datenbank-Verbindungen wird in Mysql durch die Variable max_connections angegeben. Am Samstag hatten sich soviele Verbindungen angesammelt das die Datenbank die Fehlermeldung Too many connections bei einem Verbindungsversuch ausgegeben hat.

Fehlervermeidung in Zukunft

Um dieses Problem in Zukunft zu vermeiden haben wir die maximale Anzahl der Verbindungen auf 200 verdoppelt. Und die Timout-Zeit auf 60 Sekunden verkürzt. In der my.cnf musste dazu folgender Eintrag vorgenommen werden:

  1. [mysqld]
  2. wait_timeout=60
  3. max_connections=200
Veröffentlicht in Störungen

Schreibe einen Kommentar

Suche »

"Software engineering ist unsere Leidenschaft"