【发布时间】:2012-08-14 15:11:45
【问题描述】:
我最近在我的项目中添加了很棒的 MiniProfiler 包,它对提高页面渲染速度有很大帮助。
现在我注意到以下内容。在 SQL 中,对页面的每个第一次请求都比后续访问花费的时间要长得多。
这是一个例子:
第一次访问:
第二次及以后的访问:
这是由 LINQ 或 SQL Server 中的某种缓存引起的吗?我在我的 dbml 文件中使用带有默认设置的 .NET 4 和 LINQ-to-SQL。
【问题讨论】:
-
首次加载单个页面,还是在您启动网站后首次加载任何页面?当应用程序未预热时,初始加载时间可能会有很大差异 - 冷启动分析应与预热分析分开处理。请注意,时间差异远大于仅 SQL 时间的差异(大约 300 毫秒),而总差异为 1.2 秒。
-
SQL Server 也有编译查询缓存。
-
首次加载任何已配置的页面。
标签: asp.net-mvc-3 linq linq-to-sql mvc-mini-profiler