Worum es geht: Wenn eine Anwendung langsam wird, gibt es drei Antworten: stärkere Hardware, mehr Hardware oder weniger Arbeit. Die dritte ist fast immer die beste und wird fast immer zuletzt geprüft.
1. Drei Wege
Ein stärkerer Server: mehr Arbeitsspeicher, schnellere Prozessoren. Der einfachste Weg, weil nichts am Code geändert werden muss – und der schnellste, um ein akutes Problem zu entschärfen. Irgendwann ist die Grenze erreicht, und ein einzelner Server bleibt ein einzelner Ausfallpunkt.
2. Zuerst messen
Die häufigste Ursache für langsame Webanwendungen ist nicht zu wenig Rechenleistung, sondern das N+1-Problem: Für eine Liste mit fünfzig Einträgen werden einundfünfzig Datenbankabfragen gestellt – eine für die Liste, dann je eine für jeden Eintrag. Mit einer einzigen verbundenen Abfrage wird daraus eine. Solche Fälle findet man nur, indem man die Abfragen protokolliert und zählt.
3. Wo Caches sitzen
Der Browser speichert Bilder, Schriften und Skripte selbst. Steuerbar über Kopfzeilen der Antwort. Der billigste Cache überhaupt, weil gar keine Anfrage entsteht.
4. Die schwierige Frage: Wann wird der Cache ungültig?
Einen Cache zu füllen ist einfach. Zu wissen, wann sein Inhalt veraltet ist, ist das eigentliche Problem – und der Grund für das alte Bonmot, dass es in der Informatik nur zwei schwierige Dinge gebe: Dinge zu benennen und Caches zu leeren.
Drei Vorgehensweisen sind üblich. Eine feste Lebensdauer ist am einfachsten und akzeptiert, dass Daten für diese Zeitspanne veraltet sein dürfen. Gezieltes Leeren beim Ändern ist genauer und muss an jeder Stelle bedacht werden, die schreibt. Und ein Schlüssel, der sich beim Ändern mitändert, umgeht das Problem elegant – bei Bildern etwa ein Dateiname mit Prüfsumme.
| Inhalt | Sinnvolle Lebensdauer |
|---|---|
| Bilder, Schriften, Skripte mit Prüfsumme im Namen | ein Jahr |
| Öffentliche Seiten ohne persönliche Daten | Minuten bis Stunden |
| Teure Auswertungen | Minuten |
| Daten eines angemeldeten Nutzers | gar nicht im gemeinsamen Cache |
Die letzte Zeile ist eine Sicherheitsregel: Persönliche Daten in einem gemeinsam genutzten Cache führen dazu, dass ein Nutzer die Seite eines anderen sieht. Dieser Fehler kommt vor und ist einer der unangenehmsten überhaupt.
5. Warteschlangen
Alles, was länger als etwa eine Sekunde dauert und nicht sofort gebraucht wird, gehört in eine Warteschlange: E-Mails, PDF-Erzeugung, Bildbearbeitung, Modellaufrufe, Abgleiche mit anderen Systemen. Die Anfrage wird sofort beantwortet, die Arbeit passiert danach.
Drei Eigenschaften machen eine Warteschlange brauchbar. Sie versucht es bei Fehlern erneut, mit wachsendem Abstand. Sie legt endgültig gescheiterte Aufgaben beiseite, statt sie zu verlieren – in einen Bereich, den jemand ansieht. Und sie kommt damit zurecht, dass eine Aufgabe zweimal ausgeführt wird, ohne doppelten Schaden anzurichten. Der dritte Punkt ist der schwerste und wird fast immer übersehen: Eine Bestellbestätigung darf auch bei zweimaliger Ausführung nur einmal versendet werden.
6. Häufige Fragen
Ab wann lohnt sich ein Cache? Sobald dieselbe teure Antwort mehrmals in kurzer Zeit gebraucht wird. Bei wenigen Besuchern mit ganz unterschiedlichen Anliegen bringt er nichts.
Was ist ein Verteilnetz? Ein Netz von Servern an vielen Orten, das Kopien Ihrer Dateien vorhält. Für Bilder und Skripte fast immer sinnvoll und bei den meisten Anbietern ohne Zusatzaufwand dabei.
Wie viele Nutzer verträgt ein einzelner Server? Deutlich mehr, als die meisten annehmen – eine gut gebaute Anwendung auf einem mittleren Server bedient ohne Weiteres mehrere hundert gleichzeitige Besucher. Die Grenze liegt fast nie bei der Hardware.
Stand: September 2026. Die Übungen laufen vollständig in Ihrem Browser – es wird nichts gespeichert oder übertragen.