http://support.Microsoft.com/kb/944884 によると、「1つまたは複数の大きな応答が低速のネットワーク接続を介してクライアントに送信されると、所要時間フィールドの値予想を超える可能性があります。」.
「10:03:24にリクエストをWebサーバーに送信しましたが、20秒かかりましたが、なぜですか?」とクライアントが言う状況があります。これはIISログでも確認できますが、サーバーのASP.NETモジュールが100msと記録し、CPUとディスクのカウンターが低くなりました。
ネットワーク接続が遅いことが原因だと思います。どうすればこれを証明できますか?
更新:
1)これらはSOAP Webサービス要求であるため、埋め込まれたグラフィックスではなく、結果の単一のXMLページを持つHTTP POSTです。
2)また、クライアント側でネットワーク速度を調整してこれを再現しましたが、症状はまったく同じです。
3)問題は断続的です。つまり、同じ要求は通常クライアントでは高速ですが、場合によっては低速です。これを自分で再現するには、ネットワークを調整する必要があります。サーバーのASP.NETログでは常に高速であることが示されますが、クライアントが低速であるとIISのログでは低速と示されます。
4)私はサーバーにしかアクセスできず、クライアントにできるだけ多くの情報を提供して、問題がサーバー上にないことを受け入れ、根本原因を見つけるためにクライアントで実行するロギング/ツールを知っている必要があります。
「10:03:24にWebサーバーにリクエストを送信しましたが、20秒かかりましたが、なぜですか?」とクライアントが言う状況があります。これはIISログでも確認できますが、サーバーのASP.NETモジュールが100msと記録し、CPUとディスクのカウンターが低かったです。
ネットワーク接続が遅いことが原因だと思います。どうすればこれを証明できますか?
まず、クライアントのブラウザーと前述のWebページの画像/スクリプト/ htmlのソースallの間のパケットドロップを探します。一貫したパケットドロップが見つかった場合は、ネットワーク内に修正が必要な何かがあることは確かです。それが単なる過負荷のリンクであってもです。パケットドロップが遅いネットワークの唯一の理由ではありませんが、これは私の経験では最も一般的な原因です。他のソースは、誤って構成されたプロキシまたはキャッシュエンジンである可能性があります。悲しいことに、私はここにすべての可能なネットワーク犯人をリストすることはできません。
ただし、速度の問題が実際には自分の管理の範囲内にある場合、人々はネットワークを非難することがよくあります。考えられる説明:
私は続けることができますが、要点は、ページが遅い理由を正確に突き止める必要があるということです。ネットワークに欠陥がある可能性があります。他の要因がパフォーマンスの低下の一因となっている可能性もあります。
さらに診断するには:
curl
を使用して、非常に遅く見えるものが見つかるまで、その特定の要素が遅い理由を見つけます。ところで、ChromeおよびFirefoxの例では Debian.orgからのCGIクエリ を使用しました;これはCGIルックアップによる遅延の良い例です。
他のすべてが失敗した場合、.pcap
from wireshark そしてそれを実行 tcptrace
;ただし、tcptrace
はパケットダンプの分析に優れていますが、tcptrace
だけで問題を特定できるという保証はありません。 tcptrace
診断の使用については、 この回答 を参照してください。
KB記事944884の要点は、応答を完了するために必要な実際の時間が正確にログに反映されない可能性があるということです。そのため、この記事ではネットワーク時間について言及しています。
症状が再現可能な場合は、サーバー側(できればクライアント側も同様)でパケットキャプチャを実行して、クライアントが接続を確認した実際の時間を確認します。
20秒の遅延は、IISを再起動する必要があるため、未使用時にスリープ状態になるw3wp.exeによっても発生する可能性があります。