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

2011-10-18 11:33:24来源: 互联网
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所示。

[1] [2]

关键字:网格服务APacheab

编辑:什么鱼 引用地址:http://www.eeworld.com.cn/Test_and_measurement/2011/1018/article_3735.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved