诊断 ASP.Net 网站启动缓慢问题

4
我们的ASP.Net Webforms网站经常需要在进行IISReset或在Visual Studio中进行构建后才能启动并呈现第一个页面,这通常需要五分钟左右时间。我们已经使用了像web.config中的optimizeCompilations属性等方法,并取得了一些进展,但是我们希望更加了解为什么会花费这么长时间以及确切的瓶颈在哪里。
有没有工具可以用来检测和分析ASP.Net网站启动期间发生的情况?我们正在使用IIS7,网站编译为.Net 4.0。

看看这个:ASP.NET网站首次加载缓慢。此外,您可以浏览此搜索以获取一些可能的见解:标记为“asp.net”和“performance”的最高投票问题。祝好运! - Josh Darnell
1个回答

5
这需要很长时间的原因是在web.config上找到了编译关键字中的批处理编译
您可以更改一些批处理相关参数,将批处理编译限制在较少的页面/模块上,以便您的网站启动更快。模式和影响它的值
<compilation 
   debug="[true|false]"
   batch="[true|false]"
   batchTimeout="number of seconds"
   maxBatchSize="maximim number of pages"
   maxBatchGeneratedFileSize="maximum combined size"
   numRecompilesBeforeAppRestart="number"
   optimizeCompilations="[true|false]"

如果您想了解编译时发生的情况,可以尝试使用MS Windows SysInternals中的Process Monitor。在那个时刻,您可以看到所有的文件读取和编译,以及正在打开/检查等操作。
以下是我本地使用的示例(不在服务器上)。
<compilation debug="true" batch="false" 
     optimizeCompilations="true" maxBatchGeneratedFileSize="800" maxBatchSize="100" >

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接