Maison >développement back-end >C++ >Comment puis-je augmenter le nombre de requêtes HTTP simultanées dans mon application Windows ?
Limitation des requêtes HTTP parallèles : exploration de la configuration du registre Windows
Dans le but d'optimiser une application qui exécute de nombreuses requêtes HTTP asynchrones à l'aide d'un ThreadPool, le développeur a d'abord rencontré des contraintes de performances. Le dépannage initial visait à résoudre les limitations potentielles côté serveur, mais cette voie a été éliminée.
La recherche a suggéré des restrictions potentielles imposées par Windows sur le nombre de requêtes simultanées sur le même serveur Web. L'amélioration des valeurs de registre « MaxConnectionsPerServer » et « MaxConnectionsPer1_0Server » dans [HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settings] a été recommandée pour modifier ce comportement. Toutefois, les améliorations escomptées ne se sont pas concrétisées. Des soupçons sont apparus selon lesquels les valeurs de registre référencées pourraient être incorrectes ou que la modification n'était plus efficace dans l'environnement Windows actuel.
Fait intéressant, la modification du paramètre MaxThreads dans ThreadPool n'a pas eu d'impact sur les performances de l'application, l'excluant ainsi en tant que goulot d’étranglement potentiel. Les observations correspondantes de Resource Monitor ont en outre confirmé des connexions TCP limitées.
Correction de l'approche
Après un examen plus approfondi, il est devenu évident que le problème provenait de limitations introduites par la classe ServicePoint, qui gère les connexions pour les opérations HTTP. Chaque objet ServicePoint impose par défaut un maximum de deux connexions simultanées. Pour atténuer cette contrainte, le développeur a modifié la propriété « ServicePointManager.DefaultConnectionLimit » pour prendre en charge un plus grand nombre de requêtes simultanées. Cet ajustement a finalement résolu le problème, permettant à l'application d'exécuter plusieurs requêtes HTTP simultanément.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!