扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
测试的应用场景设定为企业网环境中的Web应用,即基于Internet的对外商业门户网站。
根据多数的应用情况,我们采用前端Web和后端数据库分别使用一台服务器的方式,我们建设了一个模拟企业商业网站的测试环境,提供的网站内容包括了各种典型的应用:搜索、论坛、购物行为、访问网站的用户调查等等,首页日访问量在10万以下。根据前期的调研,目前的企业级门户网站采用的动态页面数量上升很快,所以此次我们设计的测试用网站内容含有丰富的动态页面。
共有四个厂商接受了我们的测试邀请,它们是:八亿时空、方正、曙光和HP。其中方正和曙光都送来了分别基于Linux和Windows的两套方案。经测试,综合性能、功能、易用性与价格等因素,HP的Windows平台解决方案和曙光的Linux平台解决方案综合评价最高,获得了《网络世界》编辑选择奖。
性能综述
6个方案中,采用Linux平台和Windows平台的方案各占一半,针对不同平台的参测方案,我们配备相应的网站内容和数据库。对于Windows平台,动态网页由ASP编写,数据库为SQL Server 2000; 在Linux平台上,我们采用应用广泛的PHP编写的动态网页,数据库为MySQL(测试环境详见“测试方法”)。应该说我们最终搭建的测试环境体现了目前市场上中小型网站的主流应用情况。
此次测试的性能部分包含三个内容,分别是动、静态混合页面测试;支持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,网卡的缓冲区等一些参数也做了调整。另外,配置的6块转速为1万转SCSI硬盘做RAID 0+1,这样配置有利于提高数据读取速度,但在实际应用当中其实很少见。延迟的测试是一项相当重要的测试,它直接关系到点击网站的用户的感受。曙光R220XV方案的TCP连接时间最短,为2.667ms, HP ML370的HTTP TTLB最短,为140ms。HTTP交易成功比例成绩最好的是曙光的方案,为72.261%。
2) Linux平台
测试结果显示,曙光I220A方案平均每秒建立209个连接,共建立了14622个连接,平均每个连接建立的时间为568ms,这些项目在同类平台的测试中均为最优,它的吞吐量结果在三个Linux方案中也是最高的,达到1511406Bps。在另外的两项考评指标中,八亿时空的方案每笔HTTP交易的响应时间最短,为1267ms。方正的方案HTTP交易响应的正确率是最高的。
在测试中,三个Linux方案均采用prefork方式编译Apache,以期在高稳定性的基础上获取比较高的性能。Linux内核使用系统安装时的版本,即2.4.x。各方案都对缺省参数进行了修改,比如Apache中的prefork设置:MaxClients=20000,ServerLimit=20000等。 更多内容请看FTP服务器、双核服务器技术、网站服务器的选型专题,或进入讨论组讨论。
支持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交易的请求数目要少于第一项测试中的结果,但响应成功率要更高些。
Web服务器综合评价表
测试指标
什么样的Web服务器可以认为有比较高的性能呢?对于单个用户来说,他希望自己的页面请求能立即得到响应。对于网站拥有者来说,他希望同时能为更多的用户提供服务,这样可以给他带来更多的利润。在这次Web服务器测试中,我们选取了以下指标来衡量服务器的性能。
测试指标名称 | 说明 |
一段时间内建立的TCP连接总数 | 指在测试所持续的时间内,Web服务器持续接纳用户连接请求的能力。测试中我们配置测试仪发出建立TCP连接请求的数目是按线性增长,这项指标有助于我们考察服务器在过载后建立TCP连接的能力。 |
TCP连接建立时间 | 用户发出访问请求后,首先与Web服务器建立TCP连接,这个连接成功建立所需的时间就是TCP连接建立时间。 |
HTTP响应时间 | HTTP响应时间相关的统计数据有两项:HTTP TTFB(Total Time to First Byte)和HTTP TTLB(Total Time to Last Byte),TTFB和TTLB分别代表客户端HTTP GET请求发出后,服务器端开始响应的时间和响应完毕的时间。 |
单位时间内HTTP成功响应数目 | 体现服务器在过载条件下响应用户页面请求的能力。值越大,表示能支持更多的用户请求。 |
吞吐量(Throughput,Bps) | 这项指标在测试仪上有两个方向:由服务器流向客户端方向和由客户端发往服务器方向。由于Web应用的流量下载占绝大多数,测试显示,前者比后者高几百倍,我们选择前者作为吞吐量的数值。 |
HTTP交易的成功比例 | 代表着Web服务器在某些资源达到极限时的服务器的行为。有的服务器在过载情况下,仍能建立比较多的TCP连接,但在HTTP层面上会有很多的页面请求得不到正确响应,因此,这项指标有助于我们评价系统为在线用户提供服务的能力。 |
测试方法
这次Web服务器解决方案测试包括两个部分:性能测试,功能和易用性测试。
在性能测试中,我们使用IXIA 1600T模拟用户访问Web服务器,采用的测试软件是IxWeb2.0。测试仪使用多个千兆端口通过D-Link DGS-3308TG千兆交换机与被测Web服务器相连。一台曙光I220-XV2作为公共的数据库硬件平台,装有Windows 2000和RedHat 9.0双系统,并分别装有SQL Server 2000和MySQL 4.0.18数据库以适应不同的参测平台。数据库服务器与Web服务器在同一IP网段,动态网页使用相应的驱动程序与数据库相连。同时通过优化数据库和简化数据库访问来避免数据库瓶颈的发生,测试中我们监测数据库服务器的状态,也证实了数据库在整个过载测试中不是瓶颈。
针对Web服务器性能的测试有多种类型,比如基准性能测试、压力测试和可靠性测试。我们这次进行的是压力测试,IXIA 1600T可以模拟上万用户访问网站。对于一个Web系统来说,压力测试是找到瓶颈,优化性能的最佳途径。我们考察了在过载情况下Web服务器的各项性能指标。
我们共进行了三项Web性能压力测试,分别为动、静态页面按比例混合的支持和不支持SSL的过载测试,以及纯静态网页和多媒体文档组合下过载测试。测试中我们采用HTTP1.1,根据测试项目的不同模拟不同数量的用户,每个用户均发起三个TCP连接,每个TCP连接上持续传输10个HTTP页面。负载呈线性增长至极限值并保持。测试持续时间都是5分钟。在第一项不支持SSL的动、静态混合页面测试中,动、静态网页的数量比例为1:2,二者的总数为100个。测试仪模仿1100个用户同时访问Web服务器。在第二项支持SSL的动、静态混合页面测试中,访问的网站内容和第一项测试中的完全相同。我们利用Windows 2000创建了CA,生成了服务器端证书供IIS使用。密钥长度1024位。每个被测Web服务器在测试中被赋予相同的IP地址和名称,使用相同的证书。在Linux平台的测试中,我们将IIS中的证书导出,利用OpenSSL进行转换,生成私钥文件和证书供Apache使用。测试中测试仪模仿500个用户同时访问Web服务器。在第三项测试中,我们的目的是考察Web服务器支持静态页面访问的能力,我们使用了共76个文件,其中近十分之一的多媒体文档,包括PDF、wav、mp3、rar等格式,大小从1M到4M不等。其他均为HTML页面,大小从1K到100K不等,考虑到实际应用中静态页面的大小和比例,我们采用的静态网页大小多在20K字节以下。测试中测试仪模仿5000个用户同时访问Web服务器。
在功能和易用性的测试中,我们考察了服务器解决方案的可扩展性,随机文档是否充分,并查阅厂商的Web网站,考察厂商的帮助信息是否详尽。
在进行总体评价时,我们综合了性能、功能和易用性以及价格这四方面的因素,其中性能占总体评价的60%,功能和易用性占30%,价格占10%。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。