우리는 여러 웹 서버 (15)를 가지고 있으며 각 서버에 대해 여러 개의 URL (30)을 가지고 있습니다. 나는 각 서버와 각 URL 콤보를 치고 나가는 Windows 데스크톱 앱을 작성했습니다. (이렇게하려면 httpWebRequest.Proxy 사용). 일반적으로 한 번에 2 대의 서버에만 사용됩니다. 총 60 건의 요청입니다.C# HTTP 요청 최대 연결
첫 번째 문제는이 연결 제한했다, 그래서 나는 양식로드에 이것을 추가 : ServicePointManager.DefaultConnectionLimit = 도왔다 500
을, 그러나 나는 또 다른 한계로 실행하는 것.
이러한 사이트에 대한 코드를 작성한 후에는 응답하는 데 시간이 오래 걸릴 수 있습니다. init 프로세스는 30-40 초 정도 걸립니다! 그것은 또 다른 이야기입니다.
하지만 Windows XP 연결 제한이있는 것으로 보입니다. IE를 열고 사이트에 액세스하려고 시도하는 동안 사이트를 확인하기 위해 내 앱을 실행하는 동안 IE는 페이지를 다시 가져올 때까지 오랜 시간이 걸립니다. 앱이 요청을 다시 받기 시작하고 닫으면 IE는 응답을받습니다.
또한 우리가 호출하는 페이지는 다른 WebService 호출을 호출하는 데 걸리는 시간을 되돌려줍니다. 이시기는 때로는 느리지 만 때때로 아주 빠릅니다. 일단 요청을하면 타이머를 시작하는 각 HTTP 요청에 타이머가 있습니다. 때때로 페이지의 지정된 응답 시간과 HTTP 요청의 타이머 사이의 차이가 40 초와 같이 매우 큽니다.
제가 생각하기에 요청이 대기 중이고 타이머가 실행 중이지만 아직 페이지로 전송되지 않았습니다.
Windows XP에서 총 연결 제한을 높이려면 변경해야 할 사항을 알고있는 사람이 있습니까? 레지스트리 변경이나 tcpip.sys 편집에 대해 읽었지만, Stackoverflow의 지혜롭고 지능적인 그룹의 확실한 답을 원합니다.
감사합니다.
그냥 알려. tcpip.sys를 변경하려고 시도했지만 작동하지 않았습니다. 100으로 변경하고 여전히 지연되었습니다. – Paul
이벤트 ID 4226을 참조하는 이벤트 로그 오류 메시지가 표시됩니까? 그렇지 않다면, tcpip.sys에 대한 변경이 효과적이지만, 그렇다면 재확인 할 수도 있습니다. 자세한 내용은 http://serverfault.com/questions/51597/how-to-fix-tcp-ip-has-reached-the-security-limit-event-message를 참조하십시오. 그러나 설명에서 큰 문제가 서버쪽에 있지 않은지 궁금합니다. 설명을 올바르게 읽은 경우 서버 당 30 개의 동시 요청을 보내고 있습니다. 서버가 한 번에 많은 것을 허용 할 수 있습니까? – dgvid