Wenn die Software langsam wird: erst die Arbeit prüfen, dann die Hardware
„Das System ist langsam geworden.“
Seiten laden länger, ein Bericht braucht Minuten, beim Speichern dreht sich das Symbol. Der erste Gedanke ist meistens derselbe: Es muss am Server liegen. Oder an der Datenbank. Irgendwo muss mehr Leistung her.
Manchmal stimmt das. Häufig liegt das Problem aber darin, wie das System arbeitet. Dann kauft mehr Hardware nur Zeit.
Wann mehr Leistung die richtige Antwort ist
Mehr Leistung ist nicht falsch. Wenn deutlich mehr Menschen mit dem System arbeiten als früher, wenn die Zahl der Aufträge gewachsen ist oder der Server schlicht in die Jahre gekommen ist, kann ein Ausbau die schnellste und günstigste Lösung sein. Bei gemieteten Servern ist das oft schnell erledigt.
Das gilt vor allem, wenn das System die richtige Arbeit macht und sie vernünftig erledigt. Dann wächst der Bedarf mit der Nutzung, und mehr Leistung deckt ihn. Aber auch sonst kann ein Ausbau sinnvoll sein: als schnelle Entlastung, während die eigentliche Ursache behoben wird, oder wenn eine Optimierung deutlich mehr kosten würde als der größere Server.
Wenn das System zu viel arbeitet
Häufig wird ein System langsam, weil es mehr arbeitet als nötig. Typische Ursachen:
- Die Anwendung fragt zehn Dinge einzeln bei der Datenbank ab, wo eine Abfrage gereicht hätte. Bei zwanzig Datensätzen merkt das niemand, bei zwanzigtausend schon.
- Die Datenbank durchsucht große Tabellen jedes Mal komplett, weil ein passender Index fehlt. Solange die Tabellen klein waren, fiel das nicht auf.
- Ergebnisse werden bei jedem Aufruf neu berechnet, obwohl sie sich nur einmal am Tag ändern.
- Im Hintergrund laufen Aufgaben, die fachlich niemand mehr braucht, etwa ein Abgleich mit einem System, das längst abgelöst ist.
- Der Prozess ist falsch geschnitten. Ein Bericht wird für jeden Nutzer live erzeugt, obwohl ein täglicher Stand reichen würde.
Vieles davon war beim Bau der Anwendung kein Fehler. Es wird erst zum Problem, wenn Daten und Nutzung wachsen.
Wann mehr Hardware das Problem nur verschiebt
Arbeitet ein System ineffizient, wächst sein Aufwand oft schneller als die Datenmenge. Ein doppelt so starker Server bringt dann eine Weile Ruhe, bis die Daten weiter gewachsen sind. Danach ist das Problem wieder da, und jetzt kostet es jeden Monat mehr.
Das eigentliche Problem bleibt. Es wird nur teurer versteckt.
Welcher Weg sich rechnet, hängt davon ab, was beides kostet: zusätzliche Leistung auf Dauer und eine gezielte Optimierung einmalig. Und davon, wie lange jede Lösung voraussichtlich trägt.
Woran man erkennt, wo die Zeit verloren geht
Bevor Geld fließt, lohnt sich ein genauerer Blick. Ein paar Fragen kann jeder im Betrieb beantworten:
- Ist alles langsam oder nur bestimmte Aktionen?
- Seit wann? Nach einem Update, mit wachsenden Datenmengen, schleichend?
- Zu bestimmten Tageszeiten, etwa wenn viele gleichzeitig arbeiten oder ein Abgleich läuft?
- Wird es mit jeder Woche ein Stück schlimmer?
Die Antworten grenzen die Ursache bereits ein. Danach lässt sich technisch messen, wo die Zeit tatsächlich hängt: in der Datenbank, in der Anwendung selbst, bei einem angebundenen Dienst oder im Netz. Messen ist dabei der wichtigste Schritt. Wer rät, optimiert schnell an der falschen Stelle.
Die unbequeme Frage
Bevor man ein System schneller macht, lohnt sich eine Frage, die über Technik hinausgeht: Macht es überhaupt noch die richtige Arbeit?
Berichte, die niemand mehr liest. Daten, die für einen Prozess aufbereitet werden, den es so nicht mehr gibt. Prüfungen, die einmal für einen Sonderfall eingebaut wurden, der längst erledigt ist. Was wegfallen kann, muss man nicht schneller machen.
Wird Ihr System langsamer, untersuche ich, wo die Zeit verloren geht und welche Maßnahme sich lohnt, bevor Geld in Hardware fließt. Manchmal ist ein größerer Server danach trotzdem die richtige Antwort, dann aber mit Begründung. Mehr dazu unter Gewachsene Anwendungen modernisieren.
Projekt besprechen