2017-12-31 51 views
-2

これは前に尋ねられたことは分かっていますが、私は最後の2時間を(Googleで見つかった)C#Webclientが最初のリクエストで非常に遅い

私が見つけた解決策は、 'webclient.proxy'を 'null'に設定していましたが、残念ながら最初のリクエストに大きな影響はありません。

実行時にダミーリクエストを行うだけでなく、他の解決策がありますか(私の正式なリクエスト)が速く完了していますか?

+0

「HttpClient」を使用してみませんか? 'WebClient'よりもお勧めです –

答えて

3

Webクライアントが潜在的に遅くなることがいくつかの領域を持っていますが、常に障害

  1. DNSルックアップをWebClientsない - そして、あなたが遅いルックアップやスプリットDNSとローカルDNSあるいはリモートDNSを使用している場合最初のDNSヒットが時間を費やしている可能性があります。その後、DNSがキャッシュされます。

  2. テストリモートエンドでは、特定のWebサーバーとWebアプリケーションは、一定時間後に最初のリクエストで応答するのに時間がかかります(プリコンパイルされていないIISプロセスを数時間使用しないでください。私が何を意味するか参照してください)。これを排除するには、まずWebClient Upをスピードアップするかどうかを確認するために、URLを手動で要求してください。

  3. HTTPスニッファを実行します。最初のリクエストがいつ発生したか、リクエストが行われたか、最初のバイトまでの時間と転送時間を確認できるFiddlerのようなものです。これは、問題がアプリケーションにあるのか、ネットワークスタックにあるのか、さらに遠方にあるのかを確認するのに役立ちます。

関連する問題