我正在对 asp.net MVC 2 应用程序(webforms 作为视图引擎,linq2SQl 作为 orm 层)进行性能微调。我正在使用 mvc mini-profiler 来分析页面渲染。我(目前)没有使用任何输出缓存。
我注意到我网站的几乎所有页面上都有一些奇怪的行为。
当我第一次点击页面时,渲染大约需要200 毫秒,其中我有大约15 毫秒的数据库查询时间(对存储过程的调用)。
随后对同一页面的所有点击都在大约20毫秒内呈现,其中查询保持在大约 15 毫秒。所以在这种情况下,我假设页面在大约6ms内呈现。
如果我在大约5 分钟内没有点击该页面(并且没有任何其他请求)并且我现在尝试点击同一页面,则需要200ms才能呈现所有后续调用,顺序为18-20ms。此外,我已验证没有发生 IIS 应用程序池回收。
怀疑 MVC 框架中的某处缓存在几分钟后失效,需要进行微调。
有任何想法吗?