2009-08-04 42 views
1

将ASP.Net应用程序部署到新服务器之后,第一个点击应用程序的用户会暂停很长时间,大概是因为该应用程序正在执行其初始编译。但是,这种暂停似乎也发生在应用程序超时并从内存中卸载之后。克服编译(?)暂停* secondary *初始ASP.Net应用程序启动?

第一次编译是可容忍的,因为它只有happpens一次,但第二次一个在我看来,像它应该是不必要的....有一种解决方法来解决这个问题?能够扩展应用程序超时值会很好,但我只能看到延长会话超时的方式,我不想这样做,因为这会使所有用户会话在内存中保留很长一段时间。

+1

我不积极,但可能会有一些调整,你可以在IIS 6和IIS 7的应用程序池,这将有助于做。 – 2009-08-04 20:11:40

回答

1

的常用方法(虽然看起来的hackish给我),以保持工作进程活着是有定期的一些程序问题,Web请求某些URL中的应用。

您可以通过aspnet_compiler.exe预编译ASP.NET应用程序降低初始启动时间。这不会将初始请求时间减少到零(它仍然需要创建工作进程并执行其他内务处理),但它会明显减少它。

1

我确实在IIS中找到了一些适用于应用程序池的推荐设置。这些设置的预期结果是减少应用程序需要通过启动周期的次数。这些设置应适用于IIS 6以及IIS 7:

  • 回收工作进程:禁用。只有当您有多个网站并试图隔离流程时才使用此功能。禁止,除非你是在服务器上共享资源:在空闲(以分钟为单位的时间)后
  • 关闭工作进程。禁用此设置后,您的网站不应该卸载,确保您网站的启动时间尽可能少。
+0

我会建议禁用工作进程回收的争吵。一个健康的应用程序不应该注意到由于重复回收造成的差异,并且一个行为不当的应用程序将会大大受益。老实说,在实现它的过程中,我看到了很小的缺点。 – 2009-08-05 00:21:37

相关问题