約50のWebサイトに同じコードを共有しています(シンボリックリンク経由)。リクエストはIIS 7.5 - > Tomcat 7 - > ColdFusion 10で処理されます。IISリライトモジュール(web.config)を使用します。 OSはWindows Server 2008 R2です。IISは60秒の応答遅延の原因を書き換えます
対応するMIMEタイプに動的コンテンツを返す.cfm
ファイル(のColdFusion)に書き換えられる/stylesheets/merge.css
、/scripts/merge.js
又は/api/service.json
ようなURLを要求する場合、要求が応答を受信する正確 60秒を要します。書き換えがIISによって処理される静的ファイルを指している場合、この遅延は発生しません。また、書き換えがない場合にも発生しません。
ここで不思議な部分があります。この問題は、Internet ExplorerとMicrosoft Edgeでのみ発生し、50のWebサイトのうち1つでのみ発生します。
- TTFBは(100ミリ秒未満)、予想される範囲内で、コンテンツのダウンロード(10〜KBが)正確 60秒だけ遅延されます。
- 私たちはIE 11とEdgeで3種類のマシン/ネットワークでテストしました。それらのすべてについて同じ結果が得られました。
- IISで影響を受けたサイトを再作成しましたが、変更はありません。
書き換えルールの例:
<rule name="stylesheet" stopProcessing="true">
<match url="^stylesheets/merged/([^/]+)\.css$" ignoreCase="true" />
<action type="Rewrite" url="/symlink/design/stylesheets/merge.cfm?mode={R:1}" appendQueryString="true" />
</rule>
おそらくこの理由は何だろうか?これをさらに調査するにはどうしたらいいですか?
このような安定した再現可能なステップでは、クライアント側でFiddler/Wireshark、サーバー側で失敗した要求トレースなどのツールを使用してより深く潜り込むことができます。 –
Fiddler(他のすべてのブラウザと同じように)はうまくいくように見えますが、リクエストが失敗していないので、わずかな遅延です。それはIISに関連している必要がありますが、私はどこを調べるべきかわかりません。 – Alex
FRTは成功した要求にも使用できます。これを使用して、IIS内部で費やされた時間を確認します。 –