Full Stack mit KI · Modul 5: System Design

Lektion 2 von 6Text 14 Min.

Skalierung, Caching und Warteschlangen

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

VergleichWie Anwendungen mit Last umgehen

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.

Vor jeder Hardwareentscheidung: messen, wo die Zeit tatsächlich verbraucht wird. Sehr oft ist es eine einzige unglückliche Datenbankabfrage.

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.

Bevor Sie einen größeren Server kaufen, zählen Sie die Datenbankabfragen einer langsamen Seite. In den meisten Fällen liegt dort der gesamte Unterschied – und er kostet nichts außer einer halben Stunde Arbeit.

3. Wo Caches sitzen

ErkundenVier Orte für zwischengespeicherte Antworten

Der Browser speichert Bilder, Schriften und Skripte selbst. Steuerbar über Kopfzeilen der Antwort. Der billigste Cache überhaupt, weil gar keine Anfrage entsteht.

Je näher am Nutzer, desto schneller – und desto schwerer zu erneuern, wenn sich etwas ändert.

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.

InhaltSinnvolle Lebensdauer
Bilder, Schriften, Skripte mit Prüfsumme im Namenein Jahr
Öffentliche Seiten ohne persönliche DatenMinuten bis Stunden
Teure AuswertungenMinuten
Daten eines angemeldeten Nutzersgar 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.

Fortschritt sichern

Kostenlos registrieren, Lektionen abhaken und 3 Kernideen als Karteikarten wiederholen.