Les connexions simultanées, souvent appelées threads, sont le nombre de requêtes que vous pouvez avoir ouvertes via un proxy au même moment. Une limite de 50 signifie que jusqu'à 50 requêtes peuvent s'exécuter en parallèle. Lorsqu'une se termine, une autre peut commencer. Plus de concurrence termine de gros travaux plus rapidement, mais chaque connexion ouverte utilise également des ressources sur le proxy et le serveur cible.
Un statut 429 Too Many Requests signifie que vous avez envoyé trop de requêtes dans un laps de temps donné.
Threads, Connexions et Requêtes
- Thread : Une unité de travail dans votre propre programme. Dans un simple scraper, chaque thread envoie une requête et attend sa réponse.
- HTTP/1.x : Une connexion gère les requêtes principalement une à la fois, donc les clients HTTP/1.0 et HTTP/1.1 ouvrent plusieurs connexions pour effectuer des requêtes simultanées.
- HTTP/2 : De nombreuses requêtes, appelées flux, peuvent être entrelacées sur une seule connexion. Un serveur fixe sa limite avec
SETTINGS_MAX_CONCURRENT_STREAMS. - Pourquoi c'est important : Votre nombre de threads, connexions ouvertes et requêtes en cours ne sont pas toujours le même nombre, donc vérifiez à quel nombre une limite fait référence.
Choisir un Niveau de Concurrence Sûr
- Soyez conservateur : La spécification HTTP/1.1 (RFC 9112) dit qu'un client doit limiter le nombre de connexions ouvertes simultanément à un serveur donné. Elle ne fixe pas de maximum fixe.
- Pourquoi : Chaque connexion consomme des ressources serveur, et de nombreuses connexions parallèles peuvent provoquer une congestion que moins de connexions éviteraient.
- Respectez Retry-After : Une réponse
429 Too Many Requestspeut inclure un en-têteRetry-Afterqui indique combien de temps attendre avant d'essayer à nouveau.