Jam*_*lan 44 c# asp.net asp.net-mvc web-applications
我最近创建了一个asp.net mvc Web应用程序并在线发布.
首次加载网站时,您会发现它实际显示大约需要10-15秒,但是在点击一次之后,它会加载到第二次加载的速度.我只是想知道是否有人可能知道为什么网站花了这么长时间?
Tim*_*out 29
通常,应用程序在应用程序域启动时总是需要一些额外的时间来加载.
帮助加剧这种情况的事情可能是编写糟糕的代码(IE:Application_Start)到您可能正在使用的某些库(例如ORM).你加载了多少个模块?
对于初学者,请检查您的web.config以查找臭名昭着的内容<compilation debug="true">.这可能会在生产设置中产生重大的性能影响.将其设置为"false"!
建议使用" 改善应用程序启动时间 "并查找可能与您的特定应用程序相关的内容.
从您的第一条评论更新:
如果您在30分钟后看到应用程序再次启动(挂起几秒钟),则可能与IIS中的"应用程序池回收"设置有关.
进入IIS管理器(这假定为v7 +):
在一般性能方面,您可能想尝试:
如果你真的很难过#2可能是你最好的选择,即使它可能是最慢的选择.
mes*_*sut 25
我也有同样的问题,首先加载asp.net mvc网站的速度很慢,最后我找到了加载网站的最佳方式,在第一次加载时速度非常快.
我的解决方案适用于Windows Server 2008 r2和IIS 7.5,但在上层Windows服务器和上层iis版本中也可以使用,但有一些简单的差异.
首先,您必须将应用程序池的startMode设置为始终运行,这将在一段时间后阻止您的应用程序池休眠.(在我的情况下,这一步只是将我的网站首次加载从45-55秒加载到大约8-12秒).
在第一步中,没有第一次请求您的网站,为了预加载您的网站,我们需要另一个步骤,即从这里安装iis7.5的应用程序初始化模块
在第二步中,您必须为您的网站设置preloadEnabled = true,此选项是应用程序初始化添加到网站设置的.
有关更多信息以及如何设置这些选项,请参阅此博客文章:http: //blogs.iis.net/wadeh/application-initialization-part-2
在第二步之后,我的网站只需1-3秒即可加载.