asp.net MVC 2 アプリケーション (ビュー エンジンとしての Web フォーム、orm レイヤーとしての linq2SQl) の細かいパフォーマンス チューニングを行っています。ページレンダリングのプロファイリングに mvc mini-profiler を使用しています。私は(現時点では)出力キャッシュを使用していません。
サイトのほぼすべてのページで、少し奇妙な動作に気付きました。
最初にページにアクセスしたとき、レンダリングに約 200 ミリ秒かかり、約15ミリ秒の db クエリ時間 (ストアド プロシージャの呼び出し) があります。
同じページへの後続のヒットはすべて約 20 ミリ秒でレンダリングされ、クエリは約 15 ミリ秒のままです。したがって、この場合、ページは約6msでレンダリングされると想定しています。
約5 分間ページにアクセスせず (他に要求がない場合)、同じページにアクセスしようとすると、後続のすべての呼び出しで18-20msの順序でレンダリングするのに200msかかります。また、IIS アプリ プールのリサイクルが行われていないことも確認しました。
MVC フレームワークのどこかに、数分後に無効になり、微調整が必要なキャッシュがあると思われます。
何か案は?