当前位置:首页 > 测试测量 > 测试测量
[导读]网格服务计算在服务部署之前需要测试其功能和性能,并分析测试结果以把握服务器的容量从而满足用户的需求。通过扩展HTTP压力测试工具Apache ab,较好地完成了网格服务的功能和压力测试。

1 引言
   
随着Web Services和网格服务的出现,服务器需要支持用户的QoS(Quality of Service)需求和特定用户的SLA(Ser-vice Level Agreement),并且服务器性能的高低直接影响电子商务的开展和用户的满意度。因此,在服务部署之前需要对服务器进行性能测试(压力测试)并根据测试结果确定服务器所能支持的服务质量。
    对现有的超文本传输协议(HTTP)的性能测试工具A-pache ab的请求信息初始化、结果分析等进行了扩展,实现了基于服务等级的网格服务的功能测试和压力测试。并对测试结果进行必要的统计分析。还修改了Apache ah中的多请求发送过程,使其请求分布符合泊松分布,更加准确的模拟真实的网络分组到达情况,从而得到更加可信的结果。

2 基于QoS的网格服务质量保证框架
   
在网格环境中,由于节点的不稳定性(可以随时加入或退出)而导致存在大量暂时性的服务。采取逐个签订SLA的做法,不但会增加运行消耗,也会降低暂时性服务的灵活性。SLA是Web服务质量得以保证的重要协议,它存放了Web服务中的约束信息和管理信息。因此将WSOL(Web Service0ffering Language)中用于描述客户QoS需求的服务等级概念引入到网格服务中,并以服务等级为中心,形成了包括服务等级定义、注册发布、部署以及服务等级监控3部分的服务质量保证框架。该框架的结构如图1所示。

    服务提供方根据自己的处理能力确定所能支持的服务等级,并将对应的WSDL(Web Service Deseiption Language)和CGSL(Class of Grid Service Language)文档发送给服务注册中心注册。用户通过查找和选取服务提供方所提供的服务等级来表示对服务质量的需求。网格服务节点根据用户选择的服务等级对用户实行服务区分,采取一定的监控措施监控服务等级的满足情况,并且利用监控结果对网格服务环境实时调整以确保最佳服务状态。
    采用WRR(Weighted Round Robin)队列调度算法。保证区分不同服务等级的请求,优先保证高服务等级的服务质量。这种支持网格服务等级的请求调度策略是在HP支持Web QoS的服务器软件体系结构的基础上提出的,以服务等级为划分标准,将不同服务等级的请求分发到具有不同优先级的等待队列中,在部署服务等级时,以保证不同服务等级的服务质量。
    目前优秀的HTTP压力测试工具主要有QALoad(Compuware)、LoadRunner(Mercury Interactive)、Web Application StressTool(Microsoft)和Apache ab等。但从扩展难易程度、执行效率、跨平台性以及实际需求几方面综合考虑,最终确定Apache ab为扩展对象。
    Apache ab是Apache提供的一种超文本传输协议(HTTP)的性能测试工具。其设计意图是描绘所安装的Apache在多请求环境下的执行性能。在使用Apache ab时,可使用其提供的选项参数满足各种测试的需要。Apache ab的简要流程如图2所示。

3 Apache ab的扩展
    通过对源代码的分析及其流程的剖析可得出Apache ab存在一些不足,主要表现在没有完整地实现HTTP/1.x,仅接受某些“预想”的响应格式;请求分布过于简单,仅仅是同时建立多次连接,无法模拟真实的网络请求情况:测试结果只是针对总体测试而言,没有单个请求的测试信息;对命令行参数、服务器的响应头和其他外部输入的解析也很简单,这可能会有不良后果;不支持Web Service,Grid Service。
3.1 修改请求信息
   
为了支持基于服务等级的网格服务的功能测试和压力测试,把Apache ab中HTTP头的初始化修改成SOAP请求的构造。采用了直接构造SOAP消息并发送的方式来请求服务并获取返回消息,需要对ab进行修改:①SOAP是一个HTTP POST请求,另外Content-Type必须指定为text/xml;charset=utf-8用于指明服务器脚本应该动态生成XML文档以及字符编码应该为UTF一8(否则会出现编码错误);②在HTTP头中增加SOAPAction字段,使服务器能正确的过滤HTTP中SOAP请求消息;③一个SOAP请求的HTTP体是一个XML文档,包含请求服务的参数信息,这个XML就是SOAP信封,所以在构造SOAP请求时,必须在HTTP头初始化完毕后附加SOAP信封。为了让服务器准确的获取SOAP信封,必须在SOAP信封前加上HTTP体的长度(即SOAP信封的长度);④为了支持基于服务等级的网格服务测试,程序中还随机生成了各种服务等级并附加在SOAP请求中,用于模拟请求基于服务等级的网格服务。由于单一的HTTP请求信息是唯一的,所以Apache ab中只对HTTP请求初始化一次即可。这种情况在具有多服务等级的网格服务中是不适用的,所以,对SOAP请求的构造必须在发送前进行多次。
3.2 修改请求发送过程
   
为了更加准确的模拟真实的网络请求,从而获取更加可信的测试结果,必须修改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可以较好的完成网格环境下基于服务等级的服务功能和压力测试,并具有一定的统计分析功能。如果令请求分布近似于泊松分布,可以模拟真实环境中的请求到达情况,从而得到更加准确详细的测试数据,有利于满足不同需求的测试。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭