Je voudrais tester un service de téléchargement avec des centaines, sinon des milliers, de lente connexions HTTPS simultanément. Je voudrais avoir beaucoup, disons, des connexions de qualité 3G, chacun étranglé avec une bande passante faible et une latence élevée, chacun envoyant quelques mégaoctets de données au serveur, résultant en beaucoup de demandes simultanées, de longue durée être géré par le serveur.Test de charge des milliers de connexions SLOW
Il existe de nombreux outils de génération de charge pouvant générer des milliers de requêtes simultanées. (Je suis actuellement en utilisant Locust, surtout pour que je puisse prendre avantage de ma bibliothèque cliente existante écrite en Python.) Ces outils exécutent généralement chaque requête simultanée aussi vite que possible sur le lien réseau partagé.
Il existe différentes façons d'ajuster la bande passante apparente et la latence des connexions TCP, tels que TC de Linux et emballages pratiques comme Comcast. Pour autant que je sache, TC et les autres contrôlent le lien partagé mais ils ne peuvent pas limiter les demandes individuelles. Si vous voulez limiter une seule requête, TC fonctionne bien. En théorie, avec de nombreux clients qui partagent le même lien réseau étranglé, chaque demande pourrait être exécutée en série, sous réserve de la bande passante limitée, plutôt que d'avoir beaucoup de demandes exécuter simultanément, quelques paquets à la fois. La première entraînerait beaucoup moins de demandes actives exécutant simultanément sur le serveur.
Je soupçonne que l'outil que je veux doit activement gérer chaque envoi de chaque client et de recevoir pour les étrangler équitablement. Existe-t-il un tel outil?