LLM-429-Rate-Limit- & Worker-Parallelitätsrechner
Berechnen Sie erforderliche RPM, Input TPM (ITPM) und Output TPM (OTPM) für 60 aktuelle 2026er-Modelle, erkennen Sie Kontingent-Engpässe vorab und kopieren Sie Full-Jitter-Backoff-Konfigurationen.
Kontingent-Auslastung & Engpass-Diagnose
// Full-jitter exponential backoff + Retry-After guard (google/gemini-4-hydrogen)
export async function callWithRateLimitGuard<T>(
fn: () => Promise<Response>,
maxRetries = 5,
baseDelayMs = 500,
maxDelayMs = 30_000
): Promise<T> {
for (let attempt = 0; attempt <= maxRetries; attempt++) {
const res = await fn();
if (res.status !== 429 && res.status < 500) {
return (await res.json()) as T;
}
if (attempt === maxRetries) {
throw new Error(`LLM quota exhausted (HTTP ${res.status}) after ${maxRetries} retries`);
}
const retryAfterSec = Number(res.headers.get('retry-after'));
const ceiling = Math.min(maxDelayMs, baseDelayMs * 2 ** attempt);
const sleepMs = Number.isFinite(retryAfterSec) && retryAfterSec > 0
? retryAfterSec * 1000
: Math.floor(Math.random() * ceiling);
await new Promise((r) => setTimeout(r, sleepMs));
}
throw new Error('Unreachable');
}
Wie 429-Rate-Limit-Engpässe bei LLMs entstehen
Produktive LLM-API-Gateways prüfen gleichzeitig drei Token-Buckets: RPM (Anfragen pro Minute), ITPM (Input-Tokens pro Minute inkl. RAG-Kontext) und OTPM (generierte Output-Tokens pro Minute). Sobald ein einziges Bucket überläuft, antwortet das Gateway mit HTTP 429, selbst wenn die anderen unter 20 % liegen. Kombinieren Sie die Planung mit den 30-Tage-API-Kosten und prüfen Sie Abkündigungen auf LLMEOL.
Leitplanken für Produktions-Queues & Retries
- Aktive Worker-Parallelität begrenzen: Dimensionieren Sie Worker-Pools nach Littles Gesetz (
Concurrency = Safe_RPM × Avg_Latency_Sec ÷ 60) inklusive 15 % Sicherheitsreserve. - Zuerst
Retry-After-Header auswerten: Nutzen Sie danach begrenztes Exponential Backoff mit vollem Zufalls-Jitter, damit gedrosselte Agenten keine Retry-Wellen auslösen. - Hintergrundjobs in die Batch API verlagern: Nächtliche Auswertungen in asynchronen 24h-Queues umgehen Echtzeit-RPM-Limits und senken die LLM-Token-Kosten um 50 %.
Häufig gestellte Fragen
Warum erhalte ich HTTP-429-Fehler, obwohl meine Anfragen weit unter dem RPM-Limit liegen?
Lange RAG-Prompts und mehrstufige Agenten-Verläufe schöpfen die Input-TPM- (ITPM) oder Output-TPM-Buckets (OTPM) lange vor dem RPM-Limit aus.
Erhöht Prompt Caching mein effektives Input-TPM-Limit?
Prompt Caching senkt die Input-Abrechnung um 90 % bis 95 %, und mehrere Anbieter rechnen gecachte Präfixe nicht auf das ITPM-Limit an – kalkulieren Sie die Ersparnis im LLM-Kostenrechner.
Warum Exponential Backoff mit Full Jitter statt fester Wartezeiten nutzen?
Feste Intervalle lassen gleichzeitig gedrosselte Worker in synchronen Wellen erneut anfragen; Full Jitter verteilt Wiederholungen in TypeScript- und Python-Clients gleichmäßig über das Zeitfenster.