微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > 分级网格服务的APache ab测试分析

分级网格服务的APache ab测试分析

时间:03-21 来源:赵佳  赵铭  李昌华 点击:

取更加可信的测试结果,必须修改Apache ab中请求分布,使其更符合真实的网络请求。因为在Apache ab中,多请求的情况是通过与服务器同时建立多次连接来模拟的,这并不符合真实的网络请求状况。

  为了模拟网格环境中真实的服务请求,对Apache ab中的请求分布进行修改使其符合泊松分布,通过近似真实的网络请求获取更加准确的测试结果。泊松分布是一种分布规律,在统计中常用于描述时间、平面或空间中"质点"数的随机分布规律,也是目前比较公认的一般网络分组到达的分布。

  (1)式中给出了在时间t内到达k个帧的概率Pk(t)的计算方法,其中λ是平均到达间隔的倒数。
  实验中,根据公式分别计算k=0,k=1,k=2的概率,然后通过概率的相加获得k≤0,k≤1,k≤2对应的概率,由程序生成一个0~1的随机数与上一步结果比较,从而确定每秒钟请求的个数。连续进行数百秒测试,验证扩展的正确性,可以看出扩展后的Apache ab服务请求分布近似于泊松分布。测试结果统计如图3所示,计算结果如图4所示。

3.3 修改输出结果

  实验中,还需要修改Apache ab的输出结果,使其可以打印出单个服务的请求到达时间、完成时间、耗费时间以及服务等级信息。目的在于观察统计单个服务的执行情况以及不同服务等级请求的排队和调度情况。在每次建立连接前获取系统的当前时间即请求到达时间,关闭连接后获取系统的当前时间即完成时间并计算两次时间的间隔即耗费时间,服务等级信息可以从请求服务的SOAP中获取。图5程序输出结果是一个服务的执行信息。

4 服务的压力测试


  为了验证扩展后的Apache ab具有支持网格环境下网格服务压力测试功能,并具有一定的统计分析功能,在globus环境下部署了一个Math服务作为测试对象并修改其中的add操作,采用执行过程中空等30 s这种方式模拟服务的执行过程。并且,设置globus的最大服务进程数为4个即如果系统中到达请求数超过4个就要等待(可理解为服务的能力),分别以请求到达数为1个、2个…25个为测试用例描述服务平均响应时间的变化情况。在同一台主机(AMD Sempron2500+,448MB RAM)上同时运行服务和测试程序后,得到如图6所示的结果。目的在于支持多个用户并行访问服务并且系统能很快超载。综上所述,测试目的确定为测试服务的平均响应时间,因为服务是模拟的,其执行过程是空等30 s,CPU利用率、内存占有情况等无法表示节点当前的性能,只有平均响应时间能反映真实的服务情况。

从图6中可知,扩展后的Apache ab完成了对服务的压力测试,与模拟服务器处理能力相吻合,即服务只能同时提供给4个用户,如果用户过多就会造成等待,导致响应时间增加。

5 结语

  扩展后的Apache ab可以较好的完成网格环境下基于服务等级的服务功能和压力测试,并具有一定的统计分析功能。如果令请求分布近似于泊松分布,可以模拟真实环境中的请求到达情况,从而得到更加准确详细的测试数据,有利于满足不同需求的测试。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top