Der Lerngruppen-Fall 2020

Ein Serverkrimi in 6 Akten!

Akt 1: Der Absturz

Bis zum Halbjahreswechsel gab es keine Probleme. Alles lief ruhig und rund. Am Freitag der Zeugnisse fing es an: Erste Aussetzer. Die Protokolle ergaben keine Auffälligkeiten. Erstes Rätselraten begann.

Akt 2: Der Sturmmontag

Am Montag fiel in weiten Teilen Hessens durch den Sturm die Schule aus. Unsere Serverstruktur schloss sich an. Protokolle unauffällig, aber viele Lerngruppen-Importe gestartet. Spricht also sehr dafür, dass in Hessens Schulen die Zeit gefunden wurde, um Verwaltungsakte vorzunehmen.

Akt 3: Die Warteschlange und Auswertungs- und Protokollierungserweiterung

Als schnelle Maßnahme die Anzahl der gleichzeitig ablaufenden Schulen mit Lerngruppen-Importen auf eine Einzige begrenzt. Hoffnung in Sicht: Server läuft stabiler.

Gleichzeitig SQL-Verbindungsanzahl erhöht und versucht mehr Server-Performance zu bekommen. Trotzdem immer wieder Ausfälle. Weitere Protokolleinträge und testweise weitere Auswertungssoftware ergänzt.

Akt 4: Änderungen?

Die Änderungen der letzten Wochen erneut angeschaut: Wo haben wir Code geändert, wo könnten wir langsame Abfragen eingebaut haben, die zu lange brauchen und deshalb der Server nicht hinterher kommt und sich daher beim Lerngruppen-Import “verschluckt”.

Nichts gefunden. Weiterhin teilweise Ausfälle, wenn eine Schule importiert. Umzug auf stärkere Maschine?

Akt 5: Nachtschicht und Finale

Den am längsten am System arbeitenden Kollegen dazu geholt – mit der Bitte um gemeinsame Codedurchsicht und Überprüfung des Imports. Ergebnis der Tagschicht: Im Testsystem laufen auch 20 Schulimporte parallel stabil. Ergebnis der drangehangenen Nachtschicht: Online eine allein nicht!

Jedes SQL-Statement beim Import einzeln ausgewertet … erst im Testsystem, dann online – und Ursache der Zeitverzögerung gefunden: Die Lernendentabelle mit den mehreren 100.000 Einträgen braucht zu lange, um Lernende aus der Importdatei zu identifizieren. Weiteren Index auf der Tabelle passend zur Filterung in der Abfrage ergänzt: Beschleunigung massiv messbar (bspw. von 14 auf 0,07 Sekunden zur Abarbeitung einer Lerngruppe).

Ursache für die Zeitverzögerung war also nichts, was wir gemacht haben, sondern einfach nur das Unterschätzen der Zeitveränderung für die Abfrage bei angestiegenen Einträgen in der Tabelle.

Akt 6: Danach

Ein ruhiger Tag ohne Serverausfall – ohne Probleme beim Lerngruppenimport, aber mit Nachfragen zum Lerngruppenimport, ob der “kaputt” sei, weil er jetzt “so schnell” arbeitet. Ja, den Eindruck kann man haben.

Wir hoffen damit die aktuellen Schwierigkeiten gelöst zu haben. Ob dem so ist, wird sich nächste Woche zeigen.

Wir bitten alle um Entschuldigung und Verständnis für die Ausfälle, aber manchmal braucht es etwas länger, bis man die tatsächliche Ursachen findet. Gleichzeitig wussten wir zwischendrin nicht, was wir kommunizieren hätten sollen.

Alle Schulen, die sich mit einem Teilimport (anstatt dem Gesamtimport) zufrieden gegeben haben, bitten wir, jetzt einen Gesamtimport durchzuführen, damit die Abschlussarbeiten beim Import vollumfänglich ausgeführt werden können.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert