|
对一个电子商务网站来说,需要运用最少的带宽和服务器资源,为更多的客户提供更快捷的服务。而用户对Web站点的满意度,主要以访问速度来衡量。 7 o( ]$ {/ o7 C+ `* x' u; f
从用户角度来说,Web站点只有“快”和“慢”之分;用户往往并不要求实现大容量数据传输,而是希望网站在保证性能的同时,能够容纳更多的访问者。Web用户所关心的问题的实质是访问时间。从网络维护角度说,导致时延的潜在因素是多方面的,大致来讲,可以从5个方面改进Web站点的性能:缓冲、压缩、CPU优化、运用内容分发网络(CDN)及客户端软件。 1 k1 X' w, n$ C, a4 ?5 J4 F
4 K3 y1 P0 X, }$ v- @3 j6 K5 n 当一个站点访问用户过多时,服务器会超载,站点速度也会随之降低。若增加服务器并运用负载均衡或群集方案,可增加网站访问量,站点的性能也能达到可以接受的水平。但往往出现的情况是,终端用户能够获取较快的访问速度,而预期的访问容量达不到,因此应首先考虑改进网站性能。通过限制对服务器的访问量、避免服务器出现全面缓冲,或者采用纯CDN模式,可以提高页面提交速度,站点能容纳更多的用户。 ) F8 P* W- }9 D7 i: D4 U- \& C
! d$ d1 m2 @( E 优化服务器配置
( E9 \- [: h8 [/ {6 s$ n# h' @% [+ e% d
运用更快速的磁盘和更好的网络存取机制,能明显改进网站访问速度。可以运用特定网卡(如Akamba公司的Velobahn)来改进服务器的速度,或是采用相关技术优化网络接口卡的性能。这类方案的核心是设法减轻Web服务器CPU的负荷,使其从繁琐的网络协议处理中“解脱”出来,而集中于页面处理和服务提供。
9 ]* [# c& p4 @/ z& h, t$ ^7 h/ M
0 ^0 m9 J, r6 D. } 要尽可能地提升服务器性能,运用成熟的Web服务器加速软件必不可少,在未来几年中,成本低廉、具备高度优化、嵌入式操作系统的Web服务器工具将会出现。
h2 ]: z) {1 j2 K) I$ c6 h( h1 T; g) A+ F& y1 v2 W
运用缓冲机制
. S! h6 h2 t- Y, {1 \
5 o& E& `0 ]0 [ 优化网络可升缩性和性能的另一方法是在服务器外围增加缓冲机制。比较流行的方案是为Web服务器增加反向缓冲代理,使服务器能够顺利实现已创建页面的传输,同时在创建动态页面过程中减轻服务器负荷。 7 Q% `& C6 ?3 h' p6 o6 `) L: |! h% k
, E- e* Y/ m& h$ i9 b, P! q
缓冲机制比较容易实现,可以自行构建代理程序,也可采用其它基于硬件的产品,如Cobalt Networks的产品CacheRaQ、CacheFlow公司的高端缓冲工具CacheOS。不过购买时须注意,很多硬件缓冲产品实际上是在Linux服务器中运行相关软件来实现缓冲功能的。由于缓冲机制通常不能很好地处理动态生成内容,现在运用已呈下降趋势。对于实时动态页面,若运用缓冲,显示速度会明显减慢。
; k: t3 L( @) V 以用户为中心
# U7 Y7 [( p2 I+ h# Z$ }% U0 ]2 _/ q( r; Q$ B+ f' N v. c- b! K- k
通信传输是网络要解决的最重要课题,任何网络厂商都得面对通信和路由方面的难题,要使一个网站能够“贴近”用户,就得在通信传输方案方面下功夫。 ! T' S$ p n6 u) t' c2 ~+ m* g% h
6 u6 t T# O' W8 H6 t) k7 A 可以在访问区间设置多服务器,并运用全局负载均衡设备,如Radware公司的Web服务器导向器优化路由,使用户能够访问到就近站点;也可以运用CDN,如Akamai或SolidSpeed方案,通过将大量动态页面对象,如图像和PDF文件置于靠近用户的缓冲器中,使用户实现对网站内容的就近访问。
) V5 ?, ]. ]( L+ s6 _" F9 v* J7 |3 e2 ~6 N' u! B4 n
若充分运用边缘网络系统(如CDN),Web页面内容会很快到达用户端,面对通信方面的问题也会少得多。不过CDN服务实现成本往往很高,而且操作中须将加速页面重写入相关的缓冲目标,造成一定时延。最近发布的边缘包含(ESI)规范,能够很好地解决在运用CDN时产生的动态页面内容的处理问题。一旦网络成本下降,这类方案将使边缘网传输成为主流。
: r9 |# _, _4 g+ s
; v) G2 l+ I& ^4 v 减小数据量 / G5 Z/ {6 l' R5 `1 g
% O" H. k3 n* N; x' q% z 对传输数据进行压缩,能提高访问速度。一般来说,大量的Web页面传输内容都由图像文件和其它二进制格式文件组成;现在的Web开发人员正设法减少GIF文件对颜色的使用,并调整JPEG格式文件大小。 * V' L9 B6 O& l
6 }0 E4 X2 S+ z( P( A 虽然更高一级的图片文件压缩规范JPEG2000出台尚需时日,但浏览器功能的不断改进使网络中图形图像的快速显示成为可能。对于需要传送大容量图形文件的用户来说,可以不拘泥于标准Web格式而选择更高级的图像格式,如LizardTech公司针对商业用途发布的MrSid和DjVU标准。 ! B+ f1 x+ b8 f8 Z) ~2 \
% c/ n8 t$ b. }" l. c; O6 p$ R
随着HTML文档日趋复杂和javascript的大量运用,通过减少HTML或javascript文档中的空白来压缩页面,能大大减小文件尺寸。基于这种方法,支持HTTP1.1的浏览器能够同时支持GZIP文件编码,在传输前对文件进行压缩。一些Web服务器如Microsoft IIS5.0支持这种方案。
+ L2 ]) y; o2 J' T. { z1 ^
, a0 @5 r8 R. N& A, f 一般理解认为,数据量小即意味着网站传输速度快,然而具体到某个传输对象,必须考虑压缩/解压的时间因素,高度压缩文件用到带宽可能较少,但却不一定能快速提交到终端用户。 7 ^& S+ m$ i( i/ W! o) }
' y3 w6 {) H9 [( |0 d8 e2 a* Q
不可忽视客户端因素
9 M; B: o$ d2 N# h8 x2 f3 I
/ N! g* W5 B( g3 x* y" D9 t7 N 没有协调一致的客户端操作相配合,压缩、分发、缓冲及其它一些方案终究不能发挥作用。Web用户访问的模式一般是“点击-等待-空闲-点击”,这事实上可以利用闲置时间来下载内容。如果在客户端安装这类软件,能大大提高网站性能。 5 y& {: T. |: {0 F$ k
% g" _8 {& |2 l6 K 最后,客户终端系统配置是关键,站点管理员几乎对客户端设置不能施加任何影响。页面不能快速提交,或许原因完全在客户端:终端系统配置脆弱,应用程序运行过多,磁盘存取速度太慢,或是浏览器速度低下。例如,人们在讨论站点速度时,往往忽略了浏览器这一重要因素;提起浏览器,人们自然会想起IE或Netscape,而事实上Opera Software公司的5.0版浏览器速度要快得多。 |