小小 发表于 2008-5-20 17:07:57

controller 目标场景是如何分配vuser的

controller的goal scenario设置,如果目标设hit per second 20,然后根据响应时间算出Vuser,设置最小和最大Vuser,比如说分别是5,15
我想问一下,在这个scenario运行的时候,会有多少个Vuser参与,这些Vuser是如何加载的呢?

请了解这个的xdjm们踊跃发言。。。。。

liangjz 发表于 2008-5-27 23:10:12

回复 1# 的帖子

既然是面向hit per second 20,目标的。

controller 会从动态尝试X ( 5<=X <=15 )个用户执行并发
假设初始X=5

while (true)
{
    执行场景
另外一个线程获取hit per second
   if(X=5 &&   | hit per second-20 |<=一个可控范围 )
   {
          达到目标,继续执行场景
   break;
}
else   if(X=5 &&    (hit per second-20 )>一个可控范围 )
{
   达不到目标,视场景设置继续执行或者退出场景
break;
}
else if   (|hit per second-20 |<=一个可控范围&& X<15 )
   {
      达到目标,继续执行场景
    break
   }
elseif(| hit per second-20 |>=一个可控范围 &&hit per second< 20   && X<15 )
   {
         另外一个线程按一定频率获取hit per second
          增加并发数X,执行场景
   }      
   elseif(hit per second-20>一个可控范围 &&   X<=15 )
   {
         另外一个线程按一定频率获取hit per second
         减少并发数X,执行场景
    }
else if ( hit per second <20&& x >=15 )
    {
         //经过尽力增加并发数的情况
         目标未达到,视场景设置继续执行或者退出场景
   break
   }
}

由于偶也没有见过源代码,斗胆大胆猜想流程如上。
另外,每次增减的vuser数的步进是 每次1 还是按二分法还是其他? 我也不得而知

这个问题,也请HP 的朋友回答一下

[ 本帖最后由 liangjz 于 2008-5-27 23:21 编辑 ]

兰兰 发表于 2008-5-28 11:17:25

看不懂

jacky19840707 发表于 2008-5-28 11:28:47

其实说简单一点就是在5~15个VUSER中随机加载的只要满足HIT PERSEC 20它就会执行场景,观察它每一次的增加VUSER是不是能够达到我们定的目标.
页: [1]
查看完整版本: controller 目标场景是如何分配vuser的