wing1799 发表于 2007-10-12 23:24:34

服务器性能测试方法与实例

服务器比较测试除了要考虑定量的性能指标之外,还要将可扩展性、可用性、可管理性等功能配置指标以及价格考虑在内,以全面考量服务器的整体性能。要实现这个目标,除了使用传统的性能测试方法之外还可以使用一些新的测试方法,比如文件测试、数据库性能测试与Web性能测试。其中,文件性能与数据库性能现在可以采用的方法包括美国Quest软件公司(www.quest.com)的Benchmark Factory负载测试和容量规划软件,Web性能测试则可以选用使用了Spirent公司提供的Caw WebAvalanche测试仪。

  性能测试

  文件性能测试方法
      
  著名的 Quest 服务器性能测试软件 Benchmark Factory 是一种高扩展性的强化测试、容量规划和性能优化工具,可以模拟数千个用户访问应用系统中的数据库、文件、Internet及消息服务器,从而更加方便地确定系统容量,找出系统瓶颈,隔离出用户的分布式计算环境中与系统强度有关的问题。无论是服务器,还是服务器集群,Benchmark Factory 都是一种成熟、可靠、高扩展性和易于使用的测试工具。
      
  很多产品测试特别是 Web 服务程序都会使用的测试软件,主要用于测试Web页面性能及稳定性。
      
  Benchmark Factory 通过记录和回放多用户测试中的事务处理过程,使IT 专业人员能够更加方便地完成这一任务。
      
  Benchmark Factory 可实现横向 (Benchmark Factory的主用户界面,Visual Control Center,可支持数百个工作站运行其代理软件) 和纵向 (每个代理可以模拟数百或数千个用户)扩展。
      
  Benchmark Factory 可以测试服务器集群的性能。硬件厂商以使用Benchmark Factory 及时实现故障恢复。类似地,软件厂商使用Benchmark Factory,可以优化其服务器软件,而最终用户可以利用Benchmark Factory确定其服务器集群的硬件需求。
      
  benchmark分为两部分,一是benchmark控制台,一个是benchmark agent,在测试的过程中,在控制编辑测试脚本,分发给每个Agent,然后Agent向服务器进行请求模拟客户端,完成脚本后将测试的结果会传给控制台,最终由控制台统计出总的结果,并完成测试报告。

  软件最大支持1000个虚拟客户(该软件的介绍也可参阅本报去年有关报道)。下面我们就选择网络上流传比较广泛的一个例子来与大家详细介绍如何使用该软件做实际的服务器性能测试。

http://img1.pconline.com.cn/pconline/0709/25/1114510_2006722231324684.jpg
本次测试环境包括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。其中,最大请求量略大于实际服务器能够提供的事务处理量。
页: [1]
查看完整版本: 服务器性能测试方法与实例