怎样提高页面loadtime?
来源:  关键字:页面链接,网络状况,服务器 日期:2011-03-25 [关闭]

首先给大家列出几个阻碍loadtime提高的因素:
1、页面大小;
2、页面连接数;
3、网络状况;
4、服务器抗压能力;

一、页面大小
页面大小是指页面内容的字节数。
在同等网络环境下,页面越小自 然下载时间越快,所以在合理范围内减少页面大小是可以优化下载速度的。而页面大小主要是由HTML的代码量来决定的(当然也可能包括一些css或者js的 代码,不过主体还是HTML代码),要想减小页面的大小,就得根据W3C的标准来优化HTML代码结构,去除一些垃圾无意义的代码,前2年轰轰烈烈的 web重构大致就是这个意思。如果你对web标准或者web重构不了解,可以去google一下这方面的内容,不过国内很多学习者对web重构的理解有偏 差,单一地认为是用div+css取代table布局,这种观点就不必去理会了。

二、页面连接数
页面连接数是指浏览器从服务器上下载完当前页面以及其所需资源的过程中向服务器发出的请求次数。
举个例子,一个页面文件当中包括一张图片、一个外联的css文件和一个外联的js文件,那么完全下载完这个页面所需要对服务器发送的请求就是当前页面html、图片、css和js共4个,该页面的连接数也就是4个。
服务器处理连接数是需要耗费资源和时间的,所以多次少取不如少次多取。
所以降低页面连接数是非常有必要并且非常有效的办法。
那么如果来降低页面连接数呢?这里有一些技巧,比如写css需要用到背景图片的时候,能用一张解决问题的绝不用两张,甚至最好不用图片,我本人就非常喜欢无图片的绿色环保的css代码。
还有就是能统一到一个文件里面的尽量统一到一个文件里面,比如js文件和css文件都没有必要外联,都可以吐到一个相应的html代码中间,让服务器一次性 发送给浏览器,这样的好处有很多:首先可以减少页面连接数,其次可以避免由于网络问题造成的页面裸奔现象(没有css修饰的页面)和js功能函数 没load完造成页面功能不完整的现象。
有人可能会问:把js和css代码都写在一个页面里面岂不是很不好维护么?web标准不是 崇尚结构和表现分离,结构与行为分离么?然也,web标准确实是对的。但是把js和css代码与HTML搞在一起只是给浏览器看的,有很多的方法可以做到 页面生成之前css、js和HTML都是完全分离的,而生成的页面却是三者的综合体。比如apache的页面拼装功能,或者smarty中的模版嵌套功能 等。
另外,设置浏览器的页面缓存也是一个不错的办法,能非常有效地降低页面连接数,提高页面加载速度。当然这只是针对那些实时性不强的网站来说。

三、网络状况
网络状况指的是用户当前的网络环境。
比如是拨号用户还是宽带用户,带宽是512k还是1M等等,这些硬件指标就像通向你电脑的管道,管道越大,相同时间内下载的东西就越多,速度自然就越快了。当然这个因素不是网站开发者可以去控制的。

四、服务器抗压能力
服务器抗压能力通常指的是服务器所能承受的最大访问人数。
这是一个硬件指标,不过也可以通过对软件和页面的优化来提高服务器的抗压能力。
这里的服务器主要包括两项,一个是http的服务器(apache或者iis),还有一个是数据库服务器。
这是所说的优化主要是有效减少服务器的连接数、提高程序执行效率,比如静态化页面或者使用缓存可以减少数据库的压力,减少页面连接数可以减少http服务器的压力等。还可以通过安装一些软件或者模块来达到这个目的,比如zend的php加速引擎,以及apc等。

上一篇:如何修复MSSQL Server数据库? 下一篇:PHP编程常用技巧之网站建设