Zeitlimit
Ein Zeitlimit ist eine feste Obergrenze für die Dauer eines Vorgangs im Computer. Läuft die Zeit ab, bricht das Programm den Vorgang ab und meldet einen Fehler, statt endlos weiterzuwarten.
Wenn ein Programm etwas anfordert, weiß es vorher nicht, wie lange die Antwort dauert. Vielleicht kommt sie nach einer Zehntelsekunde. Vielleicht kommt sie nie, weil die Leitung gestört ist oder der andere Computer abgestürzt ist. Damit das Programm nicht ewig wartet, legt man vorher eine maximale Wartezeit fest. Diese Obergrenze heißt Zeitlimit. Ist sie abgelaufen, gilt der Vorgang als gescheitert, und das Programm macht etwas anderes.
Warum Warten teurer ist als Aufgeben
Ohne Zeitlimit kann ein einziger hängender Vorgang ein ganzes System lahmlegen. Jede Anfrage belegt Arbeitsspeicher und eine Verbindung. Wenn tausend Anfragen gleichzeitig hängen bleiben, sind irgendwann alle Verbindungen belegt. Dann bekommen auch die Nutzer keine Antwort mehr, deren Anfrage eigentlich problemlos gewesen wäre. Ein kleiner Fehler an einer Stelle wird so zum Totalausfall.
Bei KI-Diensten kommt ein zweiter Grund dazu: Geld. Ein großes Sprachmodell rechnet auf teuren Grafikkarten. Jede Sekunde Rechenzeit kostet. Ein Modell, das sich in einer sehr langen Antwort verrennt, verbrennt Kapazität, die anderen Nutzern fehlt. Anbieter setzen deshalb harte Obergrenzen, ab denen die Generierung abgeschnitten wird.
Ein häufiger Irrtum ist, das Zeitlimit einfach sehr hoch zu setzen, um Fehler zu vermeiden. Das verschiebt das Problem nur. Ein Nutzer, der 60 Sekunden auf eine leere Seite starrt, ist unzufriedener als einer, der nach 3 Sekunden eine ehrliche Fehlermeldung sieht. Gute Zeitlimits sind eher knapp als großzügig.
Wie die Uhr im Programm läuft
Technisch startet das Programm beim Absenden der Anfrage einen Zähler. Kommt die Antwort vorher, wird der Zähler gelöscht. Läuft er ab, löst das Programm einen Abbruch aus. In den meisten Programmiersprachen wird das als Fehler behandelt, den der Entwickler abfangen muss. Typische Werte liegen zwischen einer und dreißig Sekunden, je nach Aufgabe.
Meist reicht ein einzelner Zähler nicht. Man unterscheidet, wie lange der Verbindungsaufbau dauern darf und wie lange danach auf Daten gewartet wird. Ein Server, der gar nicht antwortet, soll schnell auffliegen. Ein Server, der schon Daten schickt, darf sich mehr Zeit lassen. Dazu kommt oft ein Gesamtlimit für die komplette Anfrage.
Nach einem Abbruch folgt meist ein zweiter Versuch. Damit nicht alle Programme gleichzeitig erneut anklopfen und den überlasteten Server endgültig umwerfen, wartet jedes eine leicht zufällige, wachsende Zeitspanne. Dieses Verfahren nennt man exponentielles Zurückweichen. Wichtig ist außerdem, dass die Gegenseite den abgebrochenen Auftrag ebenfalls stoppt. Sonst rechnet sie weiter an einem Ergebnis, das niemand mehr abholt.
Von der Ladeanzeige bis zum Agenten
Im Alltag begegnet man Zeitlimits als Fehlermeldung im Browser: Die Seite lädt, lädt, und dann erscheint der Hinweis, dass die Verbindung zu lange gedauert hat. Auch beim Onlinebanking gibt es eine Variante davon. Dort wird man nach einigen Minuten ohne Aktivität automatisch abgemeldet, aus Sicherheitsgründen.
Bei KI-Produkten tauchen Zeitlimits an zwei Stellen auf. Die Schnittstellen der Anbieter brechen eine Antwort ab, wenn sie zu lange dauert. Und KI-Agenten, die selbstständig mehrere Schritte hintereinander ausführen, bekommen ein Budget an Zeit oder Arbeitsschritten. Ohne diese Bremse könnte ein Agent in einer Schleife hängen bleiben und stundenlang kostenpflichtig weiterarbeiten.
In Nachrichten über Ausfälle großer Dienste ist deshalb oft von Timeouts die Rede. Das ist selten die eigentliche Ursache. Es ist das sichtbare Symptom: Irgendwo im System antwortet ein Baustein nicht mehr rechtzeitig, und die Abbrüche pflanzen sich nach außen fort, bis die Nutzer eine Fehlerseite sehen.