429 Too Many RequestsConcurrency limit exceeded for user, please retry laterA batch script that works with 1 worker and fails with 20An agent that fails only when it starts several subtasks at onceTwo apps on the same account that break each otherDie Meldung stammt von sub2api, dem Open-Source-Gateway, auf dem viele API-Relay-Dienste laufen – Sie können ihr also bei mehreren Anbietern begegnen. Das Limit gilt pro Benutzerkonto, nicht pro Schlüssel: Zwei Schlüssel desselben Kontos teilen sich einen Pool. Der sub2api-Standard sind 5 gleichzeitige Anfragen.
Das Gateway lehnt die sechste Anfrage nicht sofort ab. Es stellt sie in eine Warteschlange und startet sie, sobald ein Platz frei wird. Wir haben das am 14. Oktober 2026 an unserem eigenen Gateway mit Limit 5 gemessen: 10 gleichzeitige Anfragen – alle 10 erfolgreich, die langsamste brauchte 8,3 Sekunden; 25 gleichzeitige – alle 25 erfolgreich, die langsamste 18,8 Sekunden. Die zusätzlichen Anfragen warteten, statt zu scheitern. Wenn Sie den Fehler sehen, lagen Sie also nicht nur kurz über dem Limit, sondern so lange, dass eine Anfrage nicht rechtzeitig einen Platz bekam.
Deshalb tritt er bei langen Anfragen auf, nicht bei vielen kurzen. Eine gestreamte Antwort, ein Reasoning-Modell, das eine Minute nachdenkt, oder ein Agent, der auf ein Tool wartet, belegt seinen Platz die ganze Zeit. Fünf davon gleichzeitig füllen das Konto, alles dahinter wartet, bis es aufgibt.
Senden Sie zehn identische Anfragen gleichzeitig und schauen Sie auf die Zeiten:
seq 1 10 | xargs -P 10 -I{} curl -s -o /dev/null \
-w '%{http_code} %{time_total}s\n' \
'YOUR_BASE_URL/chat/completions' \
-H 'Authorization: Bearer YOUR_KEY' \
-H 'Content-Type: application/json' \
-d '{"model":"YOUR_MODEL","messages":[{"role":"user","content":"Count from 1 to 150."}]}'
Kommen die ersten schnell zurück und der Rest in späteren Wellen, sind die Wellen Ihr Limit. Kommt bei manchen 429 mit dieser Meldung, ist die Warteschlange übergelaufen – senken Sie den Wert bei -P, bis keiner mehr kommt. Das ist die Parallelität, die Ihr Konto wirklich trägt.
asyncio.Semaphore(5) in Python, p-limit in Node. Eine langsamere Retry-Schleife hilft nicht; das Limit zählt offene Anfragen, also helfen nur weniger offene Anfragen.| Gleichzeitig gesendete Anfragen | Erfolgreich | Langsamste Antwort |
|---|---|---|
| 10 (Limit 5) | 10 von 10 | 8,3 s |
| 25 (Limit 5) | 25 von 25 | 18,8 s |
Zuletzt geprüft am 2026-10-14. Geschrieben aus Problemen, die auf einem laufenden OpenAI-kompatiblen Gateway diagnostiziert wurden – nicht von anderen Seiten zusammengetragen.