2017-12-31 5 views
-2

이전에 물어 보았지만 지난 2 시간 동안 Google을 통해 발견 된 솔루션을 사용해 보았지만 아무런 긍정적 인 결과가 없었습니다.C# Webclient가 처음 요청시 매우 느립니다.

해결책은 'webclient.proxy'를 'null'로 설정했지만 첫 번째 요청에 많은 영향을 미치지 않습니다. 불행히도.

런타임시 더미 요청을하는 것 외에 다른 해결책이 있습니까? (공식 요청) 완료가 더 빠릅니까?

+0

'HttpClient'를 사용하지 않는 이유는 무엇입니까? 'WebClient'보다 추천합니다. –

답변

3

Webclient에 잠재적으로 느릴 수있는 몇 가지 영역을 가지고 있지만 항상 WebClients는

  1. DNS 조회를 잘못 - 당신의 속도가 느린 조회 또는 분할 DNS와 로컬 DNS 또는 원격 DNS를 사용하는 경우, 초기 DNS 히트가 시간이 걸릴 가능성이 있으며, 그 후에 DNS가 캐시됩니다.

  2. 테스트 원격 종료, 특정 웹 서버 및 웹 응용 프로그램은 특정 시간이 지나면 첫 번째 요청에 응답하는 데 시간이 오래 걸립니다. (단지 사전 컴파일되지 않은 IIS 프로세스를 아무도 사용하지 않고 몇 시간 동안 사용해보십시오. 내가 무엇을 의미하는지). 이 문제를 해결하려면 WebClient Up 속도를 높이려면 먼저 URL을 수동으로 요청하십시오.

  3. HTTP 스니퍼를 실행하십시오. 처음 요청이 발생했을 때, 요청이있을 때, 첫 번째 바이트까지의 시간 및 전송 시간을 볼 수있는 Fiddler과 같은 것입니다. 이렇게하면 응용 프로그램에 문제가 있는지, 네트워크 스택 또는 멀리 있는지 여부를 확인할 수 있습니다.