为了模拟网格环境中真实的服务请求,对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程序输出结果是一个服务的执行信息。