摘要:
公司企业网站网页打开慢甚至打不开怎么办?
……
摘要:
公司企业网站网页打开慢甚至打不开怎么办?
……
公司企业网站网页打开慢甚至打不开怎么办?
首先是服务器的选择
很多网站公司,尤其是那些做网站很便宜的网站公司,他们不会采用很好的服务器,一个服务器上有存在近百个网站,共享不到10M的带宽,这样的话,网站毕然不会打开很快。可以通过“同IP网站查询”这样的网站监测工具查看你自己的网站是否是很多个网站在共用一个服务器,如果是,换个独立IP的服务器或者虚拟服务器就好。如果是网站访问量过大,造成带宽占用比较严重,你可以直接选择增加带宽。
其次,是网站前端页面代码问题。
这个主要集中体现在软件生成的模板网站上。由于很多模板网站都是拖动实现的网站布局,实际上前端会存在大量的不必要的垃圾代码。这样会导致网站的页面加载速度很缓慢,从而造成较高的网站跳出率,较低的网站抵达率(百度统计中用于统计点击和访问到网站用户的比率)。当然,模板网站只是这种问题产生最多的情况,有时候也会因为前段技术人员代码的规范性,比如一个div包含整个网页,浏览器需要全部加载完代码才能渲染,也会造成加载速度缓慢的情况。解决办法要么换个网站,要么重新写个网站的前端代码。
另外一种影响网站打开速度的原因是不友好的网页处理方式造成的。
比如网站使用大量flash动画,js特效,繁杂的css文件,使用比较大的图片文件,又或者程序人员在调用滚动图片的时候没有限定调用数量,而后台添加过多造成。这种问题只需要查看源码,去看看你的网站有没有flash文件,以及大量的css,js文件就可以。对于图片过大过多,最直接的办法就是右键保存网页,然后将网页放到一个新的空文件夹里面,右键查看文件大小,一般PC网站网页文件大小2M以内,手机网站网页文件大小1M以内,就算合格,如果比较大,那么接下来就可以看看是是那些文件过大,那些文件过多。对于以上这几个情况,比如flash可以用HTML5动画代替,也可以使用视频文件代替;合并css,js文件,压缩css文件;大图片,用ps工具裁切压缩图片大小就可以。如果是程序调用过多,找网站公司给你限定文章调用数量就能解决。
开始访问任何网站时,客户都需要先找到服务器。通常这是由DNS查询完成的,尽管客户可能已经缓存了服务器的IP地址。有时候可能需要多走几步才能找到正确的服务器,像HTTP重定向这种操作,就会把客户引向另外的地方。
什么时候客户需要从新的服务器获取内容,都要经历这种服务发现过程。结果,对于带有很多组件的网站一这是一个日渐普遍的模式一一都会迫使客户去解析很多网站,并且页面的加载时间也延长了。
现代的网站都依赖于第三方组件提供诸如支付、嵌入式视频、到社会媒体的链接、监控等的功能。然而,每个附加组件都是一个令人担心的失效点,并且也是导致页面加载延迟的罪魁,硬生生地剥夺了高效网站的优势。
发送请求
网络再快,客户与服务器之间的往返也是需要时间的,部分原因是物理学上的限制:光从纽约到拉斯维加斯需要13毫秒,那么数据从纽约到拉斯维加斯就不可能比13毫秒更快从浏览器到内容之间的网络速度是导致延迟的首要因素。
Web请求可能会很简单: GET index.html,然而,更为常见的却是很复杂的请求,包括cookies、URI参数,甚至还有 POSTS上载内容的操作。请求包含的内容越多,则网络用来传输的时间就越长。假如是一个安全页面的话,还会有另外的延迟,用来在客户与服务器之间进行加密协商。
再考虑响应
请求到达服务器的以后,另一个导致延迟的罪魁就登场了:主机。不论是从内存中检索静态对象,还是利用后台的第三方服务来完成一个复杂的请求,主机延迟都会对性能造成影响。关于后台服务造成的延迟,本书其他章节有讨论,这里就不多说了。主机延迟是造成糟糕用户体验的主要原因,所以,除了在后台对其进行测量之外,在网站之外对其进行追踪也是非常重要的。
记住,假如网站依赖于第三方组件,则也要对这些外部网站的主机延迟进行测量,而且还可以针对这些提供商起草一份服务水平协议(SLAs),确保他们的网站能够满足你的延迟标准。
发送响应
响应内容一旦准备就绪,服务器就可以通过HTTP协议发送这些请求对象,正是这些对对象的发送造成了访客体验到的延迟。
虽然看起来似乎是带宽一一给定时段内客户与服务器之间传送的数据量一一对页面延迟负有责任,事实上,页面中的对象数量以及这些对象从何而来,通常决定着页面加载所花费的时间。
Web页面极少只包含一个对象,对于大多数页面,容器对象(page. html)包含有对组件对象( Image.gif、 video.mo、audio.Wav、movie.Swf)的引引用,从而,这些对象也要抽取过来。而浏览器对于在同时能够检索多少对象上也是有限制的。所以,页面加载所用时间,是对象数量、对象大小、同时能够检索的对象数量、可用带宽的综合作用。
异步通信与刷新
某些应用包括一些客户与服务器之间的通信,这些通信是独立于页面进行的,我们在拖拽Google Mapl时就会观察到这一点,此日时的背景拼贴就是独立进行的,或者在你输入搜索条目时,输人框下面也会出现可供你选择的建议列表。这些异步通信模式在Web2.0风格的网站上日渐普遍。
包含某种异步更新或刷新的应用,有不同的延迟测量指标。我们不能再用“页面加载时间”了,因为此时流向浏览器的是持续的更新流。取而代之的是,我们对“每秒消息数”或“刷新时间”这样的指标进行测量,其中,“刷新时间”表示的是从用户做某件事情(在键盘上输入一个字符,拖动地图)到内容得到刷新(建议列表被刷新,地图被重绘)之间的延迟。
渲染时间
随着客户端越来越复杂,浏览器做的也越来越多。有可能是启动高互联网应用(RIA),这些RIAs都是构建在 Flash、Flex、HTML5、Java、Javascript以.及 Silverlight之上的,也可能是运行诸如 Quick Time及 Windows媒体播放器等这样的插件,甚至决定如何对复杂页面进行布局也是需要花费时间的。所以,对于大量依赖客户端进行渲染的网站,就必须考虑这种延迟。