Comment utiliser cette calculatrice
- Saisissez la limite de l’API et la durée de sa fenêtre.
- Saisissez le volume de requêtes prévu sur la même période.
- Ajoutez votre niveau de concurrence ou votre nombre de processus de travail.
- Consultez le délai requis entre les requêtes et vérifiez si les rafales dépasseront la limite.
Méthode de calcul
Le débit soutenable est la limite ÷ la durée de la fenêtre en secondes ; l’espacement minimal entre les requêtes est son inverse, multiplié par le nombre de processus de travail parallèles pour qu’ils se partagent le quota. Une limite de 600 par minute équivaut à 10 par seconde : cinq processus doivent donc chacun respecter un intervalle de 500 ms. Ignorer la concurrence est la raison habituelle pour laquelle un traitement qui fonctionnait bien en test subit une limitation en production.
La plupart des fournisseurs utilisent un seau à jetons : les jetons se reconstituent à débit constant jusqu’à la capacité du seau, ce qui permet de tolérer de brèves rafales au-dessus du débit moyen jusqu’à ce que le seau soit vide. Les limiteurs à fenêtre fixe permettent quant à eux d’atteindre jusqu’à deux fois la limite à cheval sur deux fenêtres, puis bloquent les requêtes. À la réception d’un code 429, respectez l’en-tête Retry-After ; sinon, utilisez une temporisation exponentielle avec une variation aléatoire, car les nouvelles tentatives synchronisées de nombreux clients recréent le pic à l’origine de la limitation.
Formule et références
Débit = limite / durée de la fenêtre en secondes ; délai par processus = nombre de processus / débit
Algorithmes de limitation de débit par seau à jetons et par fenêtre fixe ; HTTP 429 et Retry-After selon la RFC 6585.
Exemple de calcul
Traitement de 90,000 enregistrements avec une limite de 1,200 requêtes par minute et 8 processus de travail.
- Débit soutenable = 1,200 / 60 = 20 req/s.
- Durée totale = 90,000 / 20 = 4,500 s = 75 minutes.
- Délai par processus = 8 / 20 = 400 ms entre les requêtes.
- Une rafale de 8 appels simultanés consomme instantanément 8 jetons, sans risque si le seau contient ≥ 8 jetons.
Environ 75 minutes au minimum, chaque processus marquant une pause de 400 ms entre les appels pour respecter la limite.
Questions fréquentes
Que signifie HTTP 429 ?
Trop de requêtes. Vous avez dépassé la limite. Vérifiez l’en-tête Retry-After avant de réessayer.
Pourquoi mes requêtes sont-elles limitées alors que je suis sous le seuil ?
Généralement à cause de la concurrence : les processus parallèles partagent un même quota. Huit processus fonctionnant au débit prévu pour un seul envoient donc les requêtes huit fois trop vite.
Qu’est-ce que le jitter et pourquoi l’ajouter ?
Une variation aléatoire des délais avant nouvelle tentative. Elle empêche de nombreux clients de réessayer en même temps et de recréer le pic.
Les limites s’appliquent-elles par clé ou par IP ?
Cela varie. Consultez la documentation du fournisseur : certains appliquent les deux, et d’autres comptabilisent les requêtes par point de terminaison.