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