2011-09-14 19 views
2

asp.net MVC 2アプリケーション(ビューエンジンとしてwebforms、ormレイヤーとしてlinq2SQl)のパフォーマンスチューニングを行っています。 私はmvc mini-profilerを使用してページのレンダリングをプロファイルしています。 私は現在、出力キャッシュを使用していません。ASP.NET MVCページレンダリングのパフォーマンスの問題

私のサイトのほぼすべてのページで少し違和感を覚えています。

私が最初に私はおよそ15ミリ秒デシベルクエリ時間(ストアドプロシージャの呼び出し)のを持っているところ、それは、レンダリングするのに約200msのを取るページをヒット。

同じページへのすべての後続のヒットは、約20msにレンダリングされ、クエリは約15msのままです。したがってこの場合、ページは約6msにレンダリングされていると仮定します。

私は約5分用のページをヒットしない(および他の要求がありません)、私はそれが200msのは内のすべての後続の呼び出しでレンダリングするのにかかる同じページをヒットし、今しようとした場合18-20msの順番です。 また、IISアプリケーションプールのリサイクルが行われていないことを確認しました

MVCフレームワークのどこかに、数分後に無効にされ、微調整が必​​要なキャッシュがあると思われます。

アイデア?

+0

'web.configファイルで設定は何あなたの' <コンパイル、デバッグ= "true" の>でしょうか? debug = trueの場合は、falseに変更します。 –

+0

debug属性のデフォルト値はFalseです。 –

答えて

2

webformsビューの場所のデフォルトキャッシュは15分程度です。あなたがそうのようにこれを増やすことができます

foreach (var viewEngine in ViewEngines.Engines.OfType<VirtualPathProviderViewEngine>()) 
{ 
    viewEngine.ViewLocationCache = new DefaultViewLocationCache(TimeSpan.FromHours(24)); 
} 

詳細はこちらをご利用いただけます:http://weblogs.asp.net/rashid/archive/2009/04/23/asp-net-mvc-view-location-and-performance-issue.aspx

+0

それは確かに改善ですが、私の問題を解決しない、ありがとう。 –