4

我们的 ASP.Net webforms 站点通常需要五分钟来启动并在 IISReset 或在 Visual Studio 中构建后呈现第一页。我们已经在 web.config 中使用了诸如optimizeCompilations属性之类的东西,并且已经取得了一些进展,但想更多地了解为什么需要这么长时间以及确切的瓶颈在哪里。

有没有我们可以用来检测和分析 ASP.Net 网站启动期间发生的事情的工具?我们使用的是 IIS7,我们的网站是用 .Net 4.0 编译的。

4

1 回答 1

5

在 web.config上的Compilation 键the batch compile中找到了它花费太长时间的原因。

您可以更改一些批处理相关参数以将批处理编译限制为更少的页面/模块,从而使您的站点启动得更快一些。架构和影响它的值

<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" >
于 2013-03-08T17:35:18.730 回答