数学建模社区-数学中国

标题: 调优Web站点性能完全攻略 [打印本页]

作者: 韩冰    时间: 2004-10-3 20:54
标题: 调优Web站点性能完全攻略
对一个电子商务网站来说,需要运用最少的带宽和服务器资源,为更多的客户提供更快捷的服务。而用户对Web站点的满意度,主要以访问速度来衡量。 2 T; `/ G! `1 V0 B- d+ V& i

  从用户角度来说,Web站点只有“快”和“慢”之分;用户往往并不要求实现大容量数据传输,而是希望网站在保证性能的同时,能够容纳更多的访问者。Web用户所关心的问题的实质是访问时间。从网络维护角度说,导致时延的潜在因素是多方面的,大致来讲,可以从5个方面改进Web站点的性能:缓冲、压缩、CPU优化、运用内容分发网络(CDN)及客户端软件。 , \' p8 ]9 d, b- F+ Q" o ! r7 k( e, S# D- [& b4 k( E   当一个站点访问用户过多时,服务器会超载,站点速度也会随之降低。若增加服务器并运用负载均衡或群集方案,可增加网站访问量,站点的性能也能达到可以接受的水平。但往往出现的情况是,终端用户能够获取较快的访问速度,而预期的访问容量达不到,因此应首先考虑改进网站性能。通过限制对服务器的访问量、避免服务器出现全面缓冲,或者采用纯CDN模式,可以提高页面提交速度,站点能容纳更多的用户。 0 D6 r$ [3 u3 z8 y& p+ k: s6 O: D5 g( [ $ u1 K5 V+ s( z  优化服务器配置 & Y" V4 M( I$ {8 H" n, }; u, t& Z# w6 w5 z, w   运用更快速的磁盘和更好的网络存取机制,能明显改进网站访问速度。可以运用特定网卡(如Akamba公司的Velobahn)来改进服务器的速度,或是采用相关技术优化网络接口卡的性能。这类方案的核心是设法减轻Web服务器CPU的负荷,使其从繁琐的网络协议处理中“解脱”出来,而集中于页面处理和服务提供。 0 M+ g/ B3 b& }3 o! |( g: k ' D% B$ t9 I0 g  要尽可能地提升服务器性能,运用成熟的Web服务器加速软件必不可少,在未来几年中,成本低廉、具备高度优化、嵌入式操作系统的Web服务器工具将会出现。 % [: J! h" x% b1 K& O% u , f1 j4 h3 M: _8 `! Y  运用缓冲机制 ; `: i2 @* X0 l4 U. P- c3 v, V& t0 r4 P7 q# G   优化网络可升缩性和性能的另一方法是在服务器外围增加缓冲机制。比较流行的方案是为Web服务器增加反向缓冲代理,使服务器能够顺利实现已创建页面的传输,同时在创建动态页面过程中减轻服务器负荷。 ) Y+ x; o+ X, P) l) {. t2 z 4 i6 U1 W. a% m0 d4 I, b  缓冲机制比较容易实现,可以自行构建代理程序,也可采用其它基于硬件的产品,如Cobalt Networks的产品CacheRaQ、CacheFlow公司的高端缓冲工具CacheOS。不过购买时须注意,很多硬件缓冲产品实际上是在Linux服务器中运行相关软件来实现缓冲功能的。由于缓冲机制通常不能很好地处理动态生成内容,现在运用已呈下降趋势。对于实时动态页面,若运用缓冲,显示速度会明显减慢。 ( d" A% b. q, k- E( f 以用户为中心 ! h9 v' d2 ^0 D$ y& E, V 6 n# G% @" }* h   通信传输是网络要解决的最重要课题,任何网络厂商都得面对通信和路由方面的难题,要使一个网站能够“贴近”用户,就得在通信传输方案方面下功夫。 # L& z5 \% j5 @1 Z0 g9 T- l ; E8 y8 d9 p. v0 ^   可以在访问区间设置多服务器,并运用全局负载均衡设备,如Radware公司的Web服务器导向器优化路由,使用户能够访问到就近站点;也可以运用CDN,如Akamai或SolidSpeed方案,通过将大量动态页面对象,如图像和PDF文件置于靠近用户的缓冲器中,使用户实现对网站内容的就近访问。 8 j: U' S" a- S' r / g" i9 F! T: |4 k4 O  若充分运用边缘网络系统(如CDN),Web页面内容会很快到达用户端,面对通信方面的问题也会少得多。不过CDN服务实现成本往往很高,而且操作中须将加速页面重写入相关的缓冲目标,造成一定时延。最近发布的边缘包含(ESI)规范,能够很好地解决在运用CDN时产生的动态页面内容的处理问题。一旦网络成本下降,这类方案将使边缘网传输成为主流。 ) b) G' U& I- y6 j% I . Z" }$ l+ I. i2 O   减小数据量 2 {) B& ^- }* w. b E' P 8 L. N: |6 E% W1 B  对传输数据进行压缩,能提高访问速度。一般来说,大量的Web页面传输内容都由图像文件和其它二进制格式文件组成;现在的Web开发人员正设法减少GIF文件对颜色的使用,并调整JPEG格式文件大小。 & W1 Q6 E) Z; W, g+ \! G; L9 Q9 R. I# v3 L! }   虽然更高一级的图片文件压缩规范JPEG2000出台尚需时日,但浏览器功能的不断改进使网络中图形图像的快速显示成为可能。对于需要传送大容量图形文件的用户来说,可以不拘泥于标准Web格式而选择更高级的图像格式,如LizardTech公司针对商业用途发布的MrSid和DjVU标准。 $ X& D2 ^% ]5 ^/ g! ` 8 ^& @3 P7 |$ Q* M5 j/ }1 y- I   随着HTML文档日趋复杂和javascript的大量运用,通过减少HTML或javascript文档中的空白来压缩页面,能大大减小文件尺寸。基于这种方法,支持HTTP1.1的浏览器能够同时支持GZIP文件编码,在传输前对文件进行压缩。一些Web服务器如Microsoft IIS5.0支持这种方案。 ( R( n% z+ c r 1 D8 r1 P- Y( g1 L  一般理解认为,数据量小即意味着网站传输速度快,然而具体到某个传输对象,必须考虑压缩/解压的时间因素,高度压缩文件用到带宽可能较少,但却不一定能快速提交到终端用户。 4 [4 Z6 ?2 Q+ d, q4 h ~6 i. I' {! \0 b+ o: B' B   不可忽视客户端因素 ; {3 d' a, `$ i1 a) Y% V9 a8 D7 m" k" ~0 d x( e, Q   没有协调一致的客户端操作相配合,压缩、分发、缓冲及其它一些方案终究不能发挥作用。Web用户访问的模式一般是“点击-等待-空闲-点击”,这事实上可以利用闲置时间来下载内容。如果在客户端安装这类软件,能大大提高网站性能。 S" c5 ?# L+ H7 ~; w4 ] - y$ r: i: T5 X. L. b7 v   最后,客户终端系统配置是关键,站点管理员几乎对客户端设置不能施加任何影响。页面不能快速提交,或许原因完全在客户端:终端系统配置脆弱,应用程序运行过多,磁盘存取速度太慢,或是浏览器速度低下。例如,人们在讨论站点速度时,往往忽略了浏览器这一重要因素;提起浏览器,人们自然会想起IE或Netscape,而事实上Opera Software公司的5.0版浏览器速度要快得多。






欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5