站点非常慢,只有第一个请求

时间:2011-11-21 17:33:53

标签: performance asp.net-mvc-3 httpwebrequest

浏览“http://dev.bindsolution.com/”时,网站开始处理时间过长。为什么这样?

正在使用“CSS Sprites”,“css”和“JavaScript”缩小,尽管我不认为问题是这样。

为什么第一次请求网站的速度非常慢?

PS:我正在巴西访问

4 个答案:

答案 0 :(得分:5)

当你第一次在发布后请求网站时,ASP.Net需要编译并加载应用程序。

答案 1 :(得分:0)

IIS可能已经关闭了一些需要启动的工作线程,你的appDomain将启动并加载你的dll中的所有类并将这些类JITing到机器代码,ASP.Net也将自己进行预热(初始化所有东西)在管道中需要,可能预先编译一些视图等。)

更新

第一个请求很慢,因为页面必须加载的资源数量,一旦加载,浏览器将缓存它们,不需要再次请求它们(这就是速度改进的原因)。

考虑聚合(并可能压缩)您自己网站上的所有必需资源,并引用您网页中的所有资源。

答案 2 :(得分:0)

这取决于第一个请求是什么意思..在重新部署/重新启动应用程序(或应用程序池)之后它是第一个请求,对应用程序的第一个请求很慢可能是IIS必须启动asp.net工作进程。

此链接还应为您提供更多详细信息:http://msdn.microsoft.com/en-us/library/ms366723.aspx

如果你的意思是任何用户的第一次请求,那么用户需要下载的文件就会有开销,同时网站可能会在Session_start中做一些过程密集的事情,我会检查所有这些.. < / p>

此外,如果您可以访问代码,则可以对其进行一些性能分析。我强烈推荐JetBrains的dotTrace。

仅供参考,我与JetBrains无关。只是喜欢他们的sw / tools

答案 3 :(得分:0)

可能是第一次加载很慢并且后续加载更快,因为资产(js,css,images)被缓存用于后续视图而不需要加载。

firefox插件yslow将为您提供有关大小和加载速度的详细信息。

还可以运行smush.it(yslow的一部分)来缩小图像大小。它会使图像变小,但没有明显的差异。

相关问题