|
对一个电子商务网站来说,需要运用最少的带宽和服务器资源,为更多的客户提供更快捷的服务。而用户对Web站点的满意度,主要以访问速度来衡量。 % v7 H0 X& ~! X% u' e5 s; R
从用户角度来说,Web站点只有“快”和“慢”之分;用户往往并不要求实现大容量数据传输,而是希望网站在保证性能的同时,能够容纳更多的访问者。Web用户所关心的问题的实质是访问时间。从网络维护角度说,导致时延的潜在因素是多方面的,大致来讲,可以从5个方面改进Web站点的性能:缓冲、压缩、CPU优化、运用内容分发网络(CDN)及客户端软件。 9 ~& f' W" q$ B+ P7 t6 t
" Q+ p/ P3 |; c% R/ K1 Z- I
当一个站点访问用户过多时,服务器会超载,站点速度也会随之降低。若增加服务器并运用负载均衡或群集方案,可增加网站访问量,站点的性能也能达到可以接受的水平。但往往出现的情况是,终端用户能够获取较快的访问速度,而预期的访问容量达不到,因此应首先考虑改进网站性能。通过限制对服务器的访问量、避免服务器出现全面缓冲,或者采用纯CDN模式,可以提高页面提交速度,站点能容纳更多的用户。 3 I3 m( {9 r+ x0 `3 B n
, h3 J$ J8 R: [ 优化服务器配置 , [5 X g2 K$ f5 W/ `7 s
9 Y# ]" g: B: h" q4 S) c 运用更快速的磁盘和更好的网络存取机制,能明显改进网站访问速度。可以运用特定网卡(如Akamba公司的Velobahn)来改进服务器的速度,或是采用相关技术优化网络接口卡的性能。这类方案的核心是设法减轻Web服务器CPU的负荷,使其从繁琐的网络协议处理中“解脱”出来,而集中于页面处理和服务提供。 7 n3 d1 g( i! S1 y9 y% {
, e9 b) q z; L$ X 要尽可能地提升服务器性能,运用成熟的Web服务器加速软件必不可少,在未来几年中,成本低廉、具备高度优化、嵌入式操作系统的Web服务器工具将会出现。
% e8 f# G. q# W- ]0 b" w9 E R( r
/ S9 i, U6 o2 A$ Z( ? 运用缓冲机制 - b7 r2 c# X3 c. r
- ]0 K+ x5 R+ ?7 v) ? 优化网络可升缩性和性能的另一方法是在服务器外围增加缓冲机制。比较流行的方案是为Web服务器增加反向缓冲代理,使服务器能够顺利实现已创建页面的传输,同时在创建动态页面过程中减轻服务器负荷。 9 G/ E9 @: v [ N
) V$ z$ F4 c% G: B4 d: h$ F 缓冲机制比较容易实现,可以自行构建代理程序,也可采用其它基于硬件的产品,如Cobalt Networks的产品CacheRaQ、CacheFlow公司的高端缓冲工具CacheOS。不过购买时须注意,很多硬件缓冲产品实际上是在Linux服务器中运行相关软件来实现缓冲功能的。由于缓冲机制通常不能很好地处理动态生成内容,现在运用已呈下降趋势。对于实时动态页面,若运用缓冲,显示速度会明显减慢。
+ d, i x( `; T$ F 以用户为中心 7 z0 R3 w b; ?+ k
+ g7 B0 Y, V1 G4 h 通信传输是网络要解决的最重要课题,任何网络厂商都得面对通信和路由方面的难题,要使一个网站能够“贴近”用户,就得在通信传输方案方面下功夫。 7 A, M3 A) M/ l# Q4 Z4 ^
. y4 I) b9 Q4 F# T6 p* N
可以在访问区间设置多服务器,并运用全局负载均衡设备,如Radware公司的Web服务器导向器优化路由,使用户能够访问到就近站点;也可以运用CDN,如Akamai或SolidSpeed方案,通过将大量动态页面对象,如图像和PDF文件置于靠近用户的缓冲器中,使用户实现对网站内容的就近访问。
; a, C8 k- @8 R' b, V/ g: W% l1 i3 Q1 @( i5 }2 X
若充分运用边缘网络系统(如CDN),Web页面内容会很快到达用户端,面对通信方面的问题也会少得多。不过CDN服务实现成本往往很高,而且操作中须将加速页面重写入相关的缓冲目标,造成一定时延。最近发布的边缘包含(ESI)规范,能够很好地解决在运用CDN时产生的动态页面内容的处理问题。一旦网络成本下降,这类方案将使边缘网传输成为主流。
! {. }- w5 } O6 q, W |
0 S" t3 J' }7 B 减小数据量
% ~2 x' G3 ?$ z/ W
* }6 |# y5 R, D 对传输数据进行压缩,能提高访问速度。一般来说,大量的Web页面传输内容都由图像文件和其它二进制格式文件组成;现在的Web开发人员正设法减少GIF文件对颜色的使用,并调整JPEG格式文件大小。
% W2 E, `) l! y9 x, K
7 V2 p. l$ y2 C2 i% K, V" T F* ~ 虽然更高一级的图片文件压缩规范JPEG2000出台尚需时日,但浏览器功能的不断改进使网络中图形图像的快速显示成为可能。对于需要传送大容量图形文件的用户来说,可以不拘泥于标准Web格式而选择更高级的图像格式,如LizardTech公司针对商业用途发布的MrSid和DjVU标准。
' n7 ^- S3 D. g
3 ^& l6 B7 D( x7 k8 o 随着HTML文档日趋复杂和javascript的大量运用,通过减少HTML或javascript文档中的空白来压缩页面,能大大减小文件尺寸。基于这种方法,支持HTTP1.1的浏览器能够同时支持GZIP文件编码,在传输前对文件进行压缩。一些Web服务器如Microsoft IIS5.0支持这种方案。 ' a( y R0 K9 r
# ^" U/ S. @) R! B( X 一般理解认为,数据量小即意味着网站传输速度快,然而具体到某个传输对象,必须考虑压缩/解压的时间因素,高度压缩文件用到带宽可能较少,但却不一定能快速提交到终端用户。
0 o I5 F8 c3 k D' w
0 [: v% u1 h6 j8 n5 f" S/ z) T 不可忽视客户端因素
5 l- p/ r5 `& t ^; }5 r; \4 R6 r- ^/ \! ?# p
没有协调一致的客户端操作相配合,压缩、分发、缓冲及其它一些方案终究不能发挥作用。Web用户访问的模式一般是“点击-等待-空闲-点击”,这事实上可以利用闲置时间来下载内容。如果在客户端安装这类软件,能大大提高网站性能。 ; \; G+ ^' A f! ~4 _
6 g( L4 C* m3 @- L. F( g2 ^6 D- r 最后,客户终端系统配置是关键,站点管理员几乎对客户端设置不能施加任何影响。页面不能快速提交,或许原因完全在客户端:终端系统配置脆弱,应用程序运行过多,磁盘存取速度太慢,或是浏览器速度低下。例如,人们在讨论站点速度时,往往忽略了浏览器这一重要因素;提起浏览器,人们自然会想起IE或Netscape,而事实上Opera Software公司的5.0版浏览器速度要快得多。 |