我是一个遵循这种结构的Ajax .net网站:
Control(ascx):TopMenu,LeftPanel,RightPanel,Footer,都是非常简单的控件,不需要连接数据库或服务器端代码!
一个div体(ajax)
每次网站启动时,首先加载4个控件,然后加载Ajax主体。在开发环境中表现相当不错。
但是当我将预编译的网站上传到主机时,启动时总是很安静,在第一次加载后,性能很好
我无法理解的是:据我所知,将首先呈现四个ascx控件,这意味着页面将被加载到客户端,之后是ajax内容。那么在启动时导致性能的原因是什么?
P / s:
答案 0 :(得分:1)
从您的网站上运行谷歌浏览器上的网络分析阻止网站渲染的是一个很大的延迟,在页面加载上进行大量计算,开始获取数据需要花费很多时间。< / p>
google分析脚本也必须放在页面底部,以及google plus,facebook等其他外部脚本。
此css上还有2种字体,无法加载,延迟时间约为3秒。
http://iketqua.net/Styles/Fonts/MyriadPro/font.css
答案 1 :(得分:1)
如果您指的是部署到生产后的第一个请求。我认为你无能为力。 ASP.NET第一个请求总是很慢,即使它是一个预编译的站点,因为服务器仍然需要在服务器端加载资源。
但是,如果您从客户端角度谈论首次加载,只需运行Chrome开发者工具,我就可以看到您网站的主页非常繁重(44次请求,加载时间约为4秒),这就解释了为什么第一次加载需要一些时间,后续请求更快......主要是因为浏览器缓存了这44项请求中的大多数。现在,在您的开发环境中,它很快就会发生,因为没有明显的网络延迟或连接跳跃,一旦您转向生产,网络lantency和连接跳跃在性能中起着重要作用......这就是许多站点使用CDN的原因。
让您的网站更轻松。你可以避免很多事情。例如:
答案 2 :(得分:0)
我没有权限将其作为评论发布,但如果它在开发环境中很好,那么它可能就像主机的能力或与主机的连接一样简单。
首次加载后,性能良好
我倾向于认为这是因为网站被缓存了。