0

웹 스크래핑 응용 프로그램을 구축 중입니다. 단일 호스트에서 단일 대상 웹 서버로 동시 HttpWebRequests를 사용하여 복잡한 웹 사이트를 긁어 내야합니다.C# 네트워크 프로그래밍 - HTTPWebRequest 긁기

데이터 (때문에 장기 실행 DB 작업)을 완료 4 분 일분에서 걸릴 수 용 Windows Server 2008

하나의 단일의 HttpWebRequest에

내가해야 적어도 100를 실행해야합니다 응용 프로그램 병렬 웹 서버에 병렬 요청을하지만, 나는 2-3 번 장기 실행 요청을 사용할 때 큰 성능 문제 (요청 제한 시간/매달림)가 있음을 발견했습니다.

단일 호스트에서 단일 대상 웹 서버까지이 시나리오에서 얼마나 많은 동시 요청을 가질 수 있습니까? 응용 프로그램에서 스레드 풀을 사용하여 서버에 병렬 HttpWebRequests를 실행할 수 있습니까? 기본 아웃 바운드 HTTP 연결/요청 제한에 문제가 있습니까? 나가는 연결 제한에 도달하면 Request timeouts은 어떨까요? 내 시나리오에 가장 적합한 설정은 무엇입니까?

도움을 주시면 감사하겠습니다.

감사

기본적으로

답변

1

은 HTTP 프로토콜은 HTTP 당 2 개 개의 동시 연결에 사용자 에이전트를 제한/1.1 server.That 당신이 타격 한계입니다. 또한

ServicePointManager.GetServicePoint(url).ConnectionLimit 
를 설정하여, servicepoint 당을 설정할 수 있습니다

ServicePointManager.DefaultConnectionLimit. 

를 설정하여 제한을 늘