我们此次所进行的服务器比较测试在考虑了定量的性能指标之外,还将可扩展性、可用性、可管理性等功能配置指标以及价格考虑在内,以全面考量服务器的整体性能。我们在性能测试方面使用了新的测试方法,主要分为文件测试、数据库性能测试与Web性能测试三个方面。其中,文件性能与数据库性能采用美国Quest软件公司(www.quest.com)的Benchmark Factory负载测试和容量规划软件,Web性能测试则使用了Spirent公司提供的Caw WebAvalanche测试仪。
性能测试
文件性能测试方法
Benchmark Factory软件能按照文件读写的关键指标定制事务。软件最大支持1000个虚拟客户(该软件的介绍也可参阅本报去年有关报道)。
本次测试环境包括29台配置为PIII800/192MB内存/10G硬盘的客户端,它们用来模拟虚拟用户。控制台为配置是PIII 850/192MB内存/20G硬盘的Compaq笔记本电脑Evo 200。交换机为带有两个千兆GBIC接口、80个10/100M自适应端口的Cisco 2980G,客户端与控制台通过100M网卡连到交换机上,被测服务器则通过千兆光纤网卡与交换机相连接。
被测服务器均安装带SP2的Windows 2000 Advanced Server操作系统,在所有三项性能测试中都统一RAID级别为5。
在具体测试方案设置上,测试软件把决定文件读写操作的关键因素设定为:读/写、随机/顺序、操作块大小、对象大小四个。在本次测试中,考虑到我们设有单独的数据库及Web测试项目,所以在文件测试中,我们把目标确定为测试服务器基本的I/O性能,这主要由网络接口、系统带宽、磁盘子系统等几大部分所决定。同时,从几部分的作用看,以大操作块读写大对象文件,小操作块读写小对象文件,较能反映服务器最基本的I/O性能,即“大操作块读写大文件”对系统带宽、缓存的考察,以及“小操作块读写小文件”对磁盘子系统、网络接口的考察。最终我们确定的四个事务是:
● 大文件顺序读写(操作块8KB,对象文件80% 500KB、20% 1MB)
● 大文件随机读写(操作块8KB,对象文件80% 500KB、20% 1MB)
● 小文件随机读(操作块1KB,对象文件80% 1KB、10% 10KB、10% 50KB)
● 小文件顺序写(操作块1KB,对象文件80% 1KB、10% 10KB、10% 50KB)
每个事务的用户数均以固定步长逐渐增加,最大可增加到1000个虚拟用户。其中,“大文件顺序读写”事务的用户数按照40的步长从1可增加到400个(测试至强服务器)或200个(测试TUALATIN服务器),其他事务则将用户数按照100的步长从1增加至1000。我们期望得到其在不同用户数时被测服务器的性能表现。总体上其走势及峰值反映了该服务器的性能。每项事务均运行三次,每次之间被测服务器进行重启,最终结果为三次平均值。
数据库性能测试方法
数据库性能测试同样使用了Benchmark Factory 软件,测试环境如同文件性能测试。测试时,在被测服务器上安装SQL Server 2000,如果被测服务器是双路Tualatin服务器则使用中文标准版,若是至强服务器,则使用企业版。首先在被测服务器上创建新的数据库,通过使用Benchmark Factory预定义的Database Spec项目向数据库中创建表,装载数据。在服务器端创建以CPU计算为主的存储过程,通过29台客户机模拟用户、按照40个虚拟用户的步长递增到400个用户,执行该存储过程。结果是以获得的每秒事务数(TPS)衡量服务器的数据库事务处理能力。整个测试分为三次,每次之间重新启动被测服务器,最终取三次平均值作为评价结果。
Web性能测试
Web性能测试工具是由Spirent公司提供的Caw WebAvalanche。WebAvalanche 模拟实际的用户发出HTTP 请求,并根据回应给出具体的详细测试结果。它有以下特点:能够模拟成百上千的客户端对服务器发出请求;能够模拟真实的网络应用情况,比如网站在高峰期的访问量应该是动态的维持,有新客户端的加入,同时也有原客户的离去,访问量不是固定不变的;可以产生20000个连接/秒请求量,足以满足测试的需要;测试项目丰富,有访问请求的成功失败数,有URL和页面的响应时间,有网络流量数,还有HTTP和TCP协议的具体情况。
测试时,被测服务器与WebAvalanche (软件版本号为3.1.1.1)上都装有千兆光纤网卡,两网卡通过光纤直接连接。监控端(配置为PIII 1GHz/128M内存/20G硬盘)安装了带SP2的Windows 2000 Server,该监控端与WebAvalanche 通过交叉线直连。在监控端通过Web浏览器配置WebAvalanche,在被测服务器安装了SQL Server 2000,并用微软的IIS建立了Web服务器。
测试分为静态性能与动态性能两部分。主要是因为在实际的Web应用中,有的站点静态内容居多,提供的服务也绝大多数是静态的,因此,他们就会特别的关心服务器静态性能;同样,有的站点提供的服务交互性的内容居多,他们就会更关心服务器的动态性能。
被测网站中页面大小及静态、动态页面所占比例均参照实际网站得出,整个网站静态、动态页面所占比例是70%和30%,使用的动态页面类型为ASP。请求页面样本的文件大小分布比例与整个网站的相同。
静态性能测试模拟发出的均是静态页面请求。在测试动态性能时,动态页面的访问请求占20%,其余80%为静态页面请求。我们根据实际的Web 服务器一天中的运行情况建立了一个服务器页面请求模型,该模型由4个阶段组成,第一阶段是预热阶段,WebAvalanche发出的请求量由0慢慢上升到200;第二阶段是逐步加压阶段,请求量逐步累加到最大值8200;第三阶段是动态维持阶段;第四阶段是下降阶段,请求量由最大值迅速下降为0。其中,最大请求量略大于实际服务器能够提供的事务处理量。 被测服务器的静态与动态测试分别测试三遍,每遍之间被测服务器和测试仪均重启,结果取三次的平均值。
功能测试
在功能测试方面,我们的测试工程师对被测服务器的可扩展性、可用性以及可管理性进行了综合评价,其中可扩展性包括硬盘、PCI槽以及内存等的扩展能力,可用性包括对热插拔、冗余设备(如硬盘、电源、风扇、网卡等)的支持,可管理性则指的是服务器随机所带的管理软件。
我们在对服务器进行总体评价时,综合了性能、功能和价格三方面因素,依据《网络世界》所做的用户调查结果,分别给予不同权重,性能占50%,功能占40%,而价格则占10%。在分析性能时,数据库性能占其中的50%,而文件性能占30%,Web性能占20%。