我们的ASP.Net webforms网站通常需要五分钟才能启动并在IISReset或Visual Studio中构建后呈现第一页。我们在web.config中使用了optimizeCompilations属性之类的东西,并取得了一些进展,但想了解更多关于为什么需要这么长时间以及确切瓶颈的地方。
我们可以使用工具来检测和分析ASP.Net网站启动期间发生的事情吗?我们正在使用IIS7,我们的网站是在.Net 4.0中编译的。
答案 0 :(得分:4)
在web.config上的Compilation key上找到the batch compile
的时间过长的原因。
您可以更改某些批处理相关参数,以将批处理编译限制为更少的页面/模块,从而使您的站点启动速度更快一些。 The Schema and the values that affect that:
<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。您可以在那一刻看到所有文件读取和编译,以及打开/检查等等。