Les formulations que vous voyez souvent dans les offres proxy, telles que « 50K connexions » ou « 100 threads simultanés », désignent une seule et même chose : le nombre de connexions TCP que vous pouvez maintenir ouvertes simultanément. Cette limite détermine directement la vitesse à laquelle vous pouvez travailler et, lorsqu'elle est dépassée, les messages d'erreur sont le plus souvent trompeurs.
Dans cet article, nous examinons ce qu'est la concurrence, comment calculer la bonne valeur et comment diagnostiquer un dépassement de limite.
Concurrence et débit de requêtes ne sont pas la même chose
Deux notions sont constamment confondues :
La forme simple de la loi de Little : débit de requêtes = concurrence ÷ durée moyenne d'une requête. Si vous disposez de 20 connexions simultanées et que chaque requête dure en moyenne 500 ms, vous pouvez envoyer 40 requêtes par seconde. Si la durée de la requête monte à 2 secondes, vous n'enverrez plus que 10 requêtes par seconde à concurrence égale.
Un proxy lent ralentit votre travail sans augmenter la concurrence. C'est pourquoi la latence est souvent plus déterminante que la limite de concurrence.
Où la limite s'applique-t-elle ?
La limite de concurrence ne s'applique pas en un seul endroit, mais en plusieurs points de la chaîne :
Ouvrir 200 threads de votre côté ne sert à rien si le fournisseur vous limite à 50 ; l'excédent attend en file d'attente ou reçoit une erreur.
Les signes d'un dépassement de limite
Lorsque vous dépassez la limite de concurrence, vous ne recevez pas de message clair indiquant « limite dépassée ». Les symptômes typiques sont les suivants :
Distinction essentielle : le 429 vient de la cible, la réinitialisation de connexion du proxy et l'EMFILE de votre propre machine. Les trois appellent des solutions différentes.
Comment trouver la bonne concurrence
Une approche expérimentale est plus fiable qu'un calcul théorique. Appliquez un test de charge progressif :
Commencez bas
Envoyez 200 requêtes avec 5 connexions simultanées. Consignez la durée moyenne et le taux de réussite.
Doublez
Progressez ainsi : 10, 20, 40, 80… Répétez la même mesure à chaque palier.
Trouvez le point de rupture
Dès que le débit total (requêtes/s) cesse d'augmenter et que la durée moyenne commence à monter, vous êtes proche de la limite réelle.
Travaillez à 70 % de cette valeur
Utilisez environ 70 % du point de rupture comme valeur de production. Cette marge vous protège des fluctuations au cours de la journée.
La courbe de débit s'aplatit entre 40 et 80 tandis que la latence s'envole. Au-delà de ce point, augmenter la concurrence ne fait qu'ajouter du temps d'attente.
Pourquoi le pool de connexions (keep-alive) est-il important ?
Effectuer une nouvelle poignée de main TCP et TLS pour chaque requête coûte cher, tant en latence qu'en concurrence. Réutiliser la connexion (keep-alive) offre un débit bien supérieur à concurrence égale :
La taille du pool client ne doit pas dépasser la concurrence autorisée par le fournisseur. Si elle la dépasse, les connexions excédentaires sont établies puis immédiatement fermées et le coût de la poignée de main est perdu.
Relation entre concurrence et nombre d'IP
Augmenter la concurrence accroît également la densité de requêtes issues d'une même IP. Si le site cible applique une limitation de débit par IP, une hausse de la concurrence sur une seule IP conduit directement au blocage. La bonne approche consiste à mettre à l'échelle la concurrence avec le nombre d'IP .
Ne dépassez pas 1 à 2 connexions simultanées par IP et par cible. Si vous souhaitez envoyer 60 requêtes simultanées, il vous faut au moins 30 à 60 IP de sortie différentes. Pour le dimensionnement du pool, notre article sur les pools de proxys consultez.
Gestion du débit respectueuse de la cible
Un sujet aussi important que la concurrence est l'étalement des requêtes dans le temps. Plutôt que d'envoyer 40 requêtes en même temps, les répartir avec de petits délais paraît plus naturel côté cible et évite l'accumulation en file d'attente.
- Ajoutez du jitter : Une attente aléatoire de 150 à 350 ms au lieu de 200 ms fixes réduit la trace robotique.
- Utilisez un token bucket : Un seau à jetons produisant N requêtes par seconde empêche les pics soudains.
- Appliquez un backoff : Lorsque vous recevez un 429, réduisez progressivement la concurrence, puis augmentez-la doucement une fois le succès revenu.
- Maintenez une file d'attente distincte par cible : Le ralentissement d'un site ne doit pas affecter les autres.
Limites typiques selon les types de proxy
| Distinction entre partagé et dédié | Concurrence typique | Facteur limitant |
|---|---|---|
| Datacenter | Élevée — plusieurs centaines | Bande passante et limitation de débit de la cible |
| ISP | Moyenne à élevée | Tolérance de la cible par IP |
| Residential | Moyenne — selon le plan | Quota du compte fournisseur |
| Mobile | Faible | Appareil unique et connexion opérateur |
Comme les proxys mobiles sortent par un unique modem physique, ils offrent par nature une faible concurrence ; en contrepartie, ils bénéficient du meilleur score de confiance. Pour le détail, notre article sur les proxys mobiles vous pouvez le consulter.
Résumé
La concurrence n'est pas à elle seule le facteur déterminant de la vitesse : elle l'est conjointement avec la latence. Pour trouver la bonne valeur, il faut passer par un test de charge expérimental : identifiez le point où le débit s'aplatit et où la latence s'envole, puis travaillez à 70 % de cette valeur. Fixez le pool de connexions à cette valeur, mettez la concurrence à l'échelle avec le nombre d'IP et faites marche arrière dès qu'un 429 apparaît. Pour mesurer la latence de vos proxys actuels, test de ping et vérification de proxy vous pouvez utiliser nos outils.