[周报全文]Web性能综述——定位“性”格

2004-06-14 |  作者:佚名 |  来源:互联网 |  查看原文

摘要Web性能综述——定位“性”格

    Web性能综述——定位“性”格

    一个完整的Web系统除了包括服务器端的Web服务器软件、中间件和数据库,还应该包括客户端以及连接客户端与服务器端的网络,这其中的所有元素都影响着整个系统的性能,软硬件水平和优化配置程度的高低都决定着系统的表现。(各参测方案在硬件、应用软件上的具体配置参见27版参测方案功能列表。)

    在这次参测的6个方案中,采用Linux平台和Windows平台的方案各占一半,针对不同平台的参测方案,我们配备相应的网站内容和数据库。对于Windows平台,动态网页由ASP编写,数据库为SQL Server 2000; 在Linux平台上,我们采用应用广泛的PHP编写的动态网页,数据库为MySQL(测试环境详见26版“测试方法”)。应该说我们最终搭建的测试环境体现了目前市场上中小型网站的主流应用情况。

    此次测试的性能部分包含三个内容,分别是动、静态混合页面测试;支持SSL下的动、静态混合页面测试;静态页面和多媒体文件测试。

    我们在确定测试项目的时候充分考虑了目前Web服务器的使用情况,尽量使测试更贴近实际应用的情况。构建测试网站的内容时,参考了由CNNIC进行的2002和2003年中国互联网资源调查报告,测试环境中服务器端脚本语言的选择、动静态网页的比例、静态网页的大小和多媒体文件的类型都是依据该调查报告确定的。我们测试中将动、静态网页的比例调整为1:2。

    电子商务网站需要比较高的安全性,SSL是一个可以用于Web安全传输的协议,它在TCP之上建立了加密通道。采用SSL加密的Web服务器,无论对于内存还是CPU都是个挑战。

    目前很多网站仍以静态页面为主,因此测试纯静态页面访问情况下的Web服务器的性能也是很有必要的,我们还模拟实际应用,添加了一些多媒体的内容。服务器检索这些静态网页和多媒体文件的速度要受到硬盘速度的限制,同时文件从网络输出时也要受到相应的限制,静态页测试可以直接考察硬盘和网络I/O设备的性能。

    我们的测试对服务器的CPU、内存、网络和磁盘都形成了压力,另一方面也对软件配置的优化提出了挑战。

    动、静态混合页面测试

    1) Windows平台

    在这部分测试中,HP ML370测得的建立的TCP连接总数、每秒成功的HTTP响应个数以及平均的吞吐量几项重要的性能指标成绩都十分突出,建立的TCP连接总数为305368个,每秒成功的HTTP响应个数为3948个,吞吐量得到的成绩为29079460Bps,这几个数值基本上都比其他的参测方案高出一个数量级。这样的成绩应该主要得益于HP参测方案的配置以及优化,HP的工程师在引导程序中将Array Accelerator选项中的读写比例调整为3:1,虚拟内存从2048增加到4096,网卡的缓冲区等一些参数也做了调整。另外,配置的6块转速为1万转SCSI硬盘做RAID 0+1,这样配置有利于提高数据读取速度,但在实际应用当中其实很少见。延迟的测试是一项相当重要的测试,它直接关系到点击网站的用户的感受。曙光R220XV方案的TCP连接时间最短,为2.667ms, HP ML370的HTTP TTLB最短,为140ms。HTTP交易成功比例成绩最好的是曙光的方案,为72.261%。

    2) Linux平台

    测试结果显示,曙光I220A方案平均每秒建立209个连接,共建立了14622个连接(+微信networkworldweixin),平均每个连接建立的时间为568ms,这些项目在同类平台的测试中均为最优,它的吞吐量结果在三个Linux方案中也是最高的,达到1511406Bps。在另外的两项考评指标中,八亿时空的方案每笔HTTP交易的响应时间最短,为1267ms。方正的方案HTTP交易响应的正确率是最高的。

    在测试中,三个Linux方案均采用prefork方式编译Apache,以期在高稳定性的基础上获取比较高的性能。Linux内核使用系统安装时的版本,即2.4.x。各方案都对缺省参数进行了修改,比如Apache中的prefork设置:MaxClients=20000,ServerLimit=20000等。

    支持SSL的动、静态混合页面测试

    1) Windows平台

    在实际应用中,使用SSL加密的情况比较少,一般都采用其他的一些手段来增强安全性,比如使用防火墙、入侵检测系统等等。与标准的HTTP相比,HTTPS(HTTP over SSL)增加了额外的处理层面,它会导致性能的降低。结果显示,加密后Web服务器的性能显著下降:建立的TCP连接数目、吞吐量都下降极多;HTTP交易的响应时间也延长了。

    在这项测试中,方正的圆明MT300A成绩最好,每秒成功的HTTP响应个数为291,平均的吞吐量为2059474Bps, HTTP TTLB为2289ms,都是领先的成绩,HP的参测系统紧随其后。TCP连接时间一项是曙光的参测方案成绩最好,为58ms。

    2) Linux平台

    此项测试中,八亿时空Web服务器有很好的性能表现:它建立的TCP连接最多,HTTP交易的成功率最高,响应时延也很小。

    相比加密前的混合测试,各方案的性能指标都下降了30%左右,特别是HTTP响应时间,由于物理内存耗尽而发生了交换,导致平均响应时间达到11秒多。所有方案HTTP交易的请求数目要少于第一项测试中的结果,但响应成功率要更高些。

    纯静态页面及少量多媒体文件测试

    1) Windows平台

    纯静态的测试主要考察参测方案的I/O性能,此项测试中,我们使用了包括1K、10K左右的HTML静态网页和少量大小为1M~4M字节的多媒体文件,对Web系统的I/O子系统构成足够的压力。在Windows和Linux平台上使用完全相同的测试环境。在这项测试中,参测的三套方案除了TCP连接时间一项得到的成绩差别比较大外,其他的几项性能指标都得到很相近的成绩。比如每秒成功的HTTP响应个数,HP ML370得到的结果最好,为2742个,方正和曙光的参测系统得到的结果紧随其后,分别为2640、2152,HTTP TTLB一项曙光R220XV方案结果最好,为1317.333,方正和HP的参测方案得到的成绩分别为1507.333、1509.667。

    2)Linux平台

    这项测试结果三个参测方案水平相当接近。从吞吐量上来看,从大到小依次是:曙光的I220A方案、方正的MR200A方案和八亿时空的方案,但相差不多。曙光的方案建立的TCP连接最多,TCP连接建立的时间最短,为470ms;八亿时空的方案HTTP响应时间最短;HTTP交易响应的成功率过载情况下都在90%以上,八亿时空的略高。

    在参测的所有方案中,所有服务器都配置的是千兆网卡。我们使用性能监视器发现,过载时网络带宽的利用率达到100%。实际上,这项测试体现了当I/O成为瓶颈时服务器的工作能力。

    针对静态网页,对于大型门户网站来说,若想提高Web性能,可以设置多台服务器进行负载均衡,也有可以使用辅助手段比如使用功能比较单一却效率很高的Web服务器软件来提升性能。而对于中小型网站来说,合理配置Apache就能达到令人满意的性能表现,比如我们可以卸载掉不必要的模块来减少服务器进程对系统资源的占用。

    图中蓝线:静态;红线:动、静态;黄线:动、静态(SSL)

相关文章