Heim >Backend-Entwicklung >C++ >Wie kann ich die Anzahl gleichzeitiger HTTP-Anfragen in meiner Windows-Anwendung erhöhen?
Begrenzung paralleler HTTP-Anfragen: Erkundung der Windows-Registrierungskonfiguration
Um eine Anwendung zu optimieren, die zahlreiche asynchrone HTTP-Anfragen mithilfe eines ThreadPools ausführt, Der Entwickler stieß zunächst auf Leistungseinschränkungen. Bei der anfänglichen Fehlerbehebung wurde versucht, potenzielle Einschränkungen auf der Serverseite zu beheben, dieser Weg wurde jedoch eliminiert.
Untersuchungen deuteten auf mögliche Einschränkungen hin, die Windows hinsichtlich der Anzahl gleichzeitiger Anfragen an denselben Webserver auferlegt. Um dieses Verhalten zu ändern, wurde die Verbesserung der Registrierungswerte „MaxConnectionsPerServer“ und „MaxConnectionsPer1_0Server“ in [HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settings] empfohlen. Die erwarteten Verbesserungen blieben jedoch aus. Es entstand der Verdacht, dass die referenzierten Registrierungswerte falsch sein könnten oder dass die Änderung in der aktuellen Windows-Umgebung nicht mehr wirksam war.
Interessanterweise hatte die Änderung der MaxThreads-Einstellung in ThreadPool keine Auswirkungen auf die Leistung der Anwendung und schloss sie daher als aus potenzieller Engpass. Entsprechende Beobachtungen von Resource Monitor bestätigten außerdem begrenzte TCP-Verbindungen.
Korrektur des Ansatzes
Bei näherer Betrachtung stellte sich heraus, dass das Problem auf Einschränkungen zurückzuführen war, die durch die ServicePoint-Klasse eingeführt wurden. die Verbindungen für HTTP-Vorgänge verwaltet. Jedes ServicePoint-Objekt schreibt standardmäßig maximal zwei gleichzeitige Verbindungen vor. Um diese Einschränkung zu mildern, hat der Entwickler die Eigenschaft „ServicePointManager.DefaultConnectionLimit“ geändert, um eine größere Anzahl gleichzeitiger Anforderungen zu ermöglichen. Durch diese Anpassung wurde das Problem letztendlich behoben, sodass die Anwendung mehrere HTTP-Anfragen gleichzeitig ausführen konnte.
Das obige ist der detaillierte Inhalt vonWie kann ich die Anzahl gleichzeitiger HTTP-Anfragen in meiner Windows-Anwendung erhöhen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!