Windows 레지스트리에 의해 차단된 병렬 HTTP 요청
애플리케이션에서 여러 HTTP 요청을 동시에 실행하려고 시도하고 있지만 성능이 제한됩니다. 잠재적인 병목 현상을 조사한 결과 Windows에서 동시 요청에 제한을 적용할 수 있다는 사실을 발견했습니다.
이 문제를 해결하기 위해 연결 제한과 관련된 레지스트리 값을 수정하라는 조언을 따랐습니다. 그러나 조정을 하고 컴퓨터를 다시 시작해도 애플리케이션은 여전히 두 개의 TCP 연결만 사용하여 작동하므로 처리량이 제한됩니다.
질문이 생깁니다. 레지스트리 수정이 작동하지 않는 이유는 무엇입니까?
귀하가 참조한 블로그 게시물에 제공된 정보는 완전히 정확하지 않습니다. 언급된 레지스트리 키 MaxConnectionsPerServer 및 MaxConnectionsPer1_0Server는 허용되는 동시 연결 수와 직접적인 관련이 없습니다. 대신 이러한 키는 특정 서버에 대해 열려 있는 최대 연결 수를 제어합니다.
최대 동시 연결 수를 제어하려면 ServicePointManager.DefaultConnectionLimit 속성을 사용해야 합니다. 이 속성을 사용하면 ServicePoint 개체가 가질 수 있는 최대 연결 수를 지정할 수 있습니다. 기본적으로 이 제한은 2로 설정됩니다.
연결 제한을 늘리려면 DefaultConnectionLimit 속성을 원하는 값으로 설정하면 됩니다. 예는 다음과 같습니다.
ServicePointManager.DefaultConnectionLimit = 20;
이 수정을 통해 애플리케이션을 통해 이루어진 모든 HTTP 요청에 대한 동시 연결 제한이 높아져 원하는 처리량을 달성할 수 있습니다.
위 내용은 내 레지스트리 수정으로 인해 Windows에서 병렬 HTTP 요청이 증가하지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!