为什么vusers会多次提交到集合点?
我运行了50个虚拟用户,事务前加集合点,提交事务为上传文件(10M左右),vusers的状态变化为Run->Rendez->Run->Rendez->run,为什么会出现这种情况?是因为server返回的信息太慢吗?这种情况可能跟网络有关系吗?望高手指点 Run:虚拟用户还未到达集合点之前的脚本运行;Rendez:是指在虚拟用户在集合点等待;
RUN:集合点释放后,虚拟用户继续运行;
Rendez:第二个循环,虚拟用户在集合点等待;
RUN:第二个循环,集合点释放后,虚拟用户继续运行;
.....................................
依次类推,直至达到设定的运行循环数或者运行的时间。 原帖由 spartan 于 2007-9-6 14:48 发表 http://bbs.51testing.com/images/common/back.gif
Run:虚拟用户还未到达集合点之前的脚本运行;
Rendez:是指在虚拟用户在集合点等待;
RUN:集合点释放后,虚拟用户继续运行;
Rendez:第二个循环,虚拟用户在集合点等待;
RUN:第二个循环,集合点释放后,虚拟 ...
忘记说了,我没有设置循环, iteration为1,继续期望指点
回复 #3 mli@dtri.com 的帖子
你没有设置循环,那你一定设置了持续运行时间了吧。 如果你设置的持续运行时间比较大的话,那脚本运行就不至一个循环了。那,你设置的持续运行时间为多少?以及你的脚本跑一个循环要多长时间? 你设置了运行持续时间吧,也就是说如果你的第n个用户和第n+1个用户之间的时间间隔大于你所设定的运行时间的话,那么已经到达集合点的用户就会开始向下执行,而剩下的用户则会在集合点处重新集合。 看你的“Timeout between vuser”这一项, 也就是用户超时时间设置为多少,第n个用户和第n+1个用户之间的等待时间超这个设置值,已经到达集合点的用户开始向下执行,而剩下的用户则在集合点重新集合。
打个比方:
你这个超时时间设置为5秒,从第一个用户到达集合点开始计时,第二个用户在5秒内到达集合点,而第三个用户在第二个用户到达集合点开始计时,5秒内没有到达集合点,第一个用户和第二个用户不再等第三个用户,他们两个一起向下执行,而第三个用户只是到达集合点,等待第四个用户......
以此类推
所以,会出现LZ你所说的Run->Rendez->Run->Rendez->run这种状态 谢谢大家热情的回复!!
我观察到的现象是这样的,在action中我定义了三个transaction,条件判断要执行的transaction,如果第一个transaction满足执行条件,用户到第一个集合点集合,接着判断第二个集合点,同样满足条件,用户在第二个集合点集合,接着判断第三个集合点,同样满足条件,用户在第三个集合点集合,每次集合之前用户会回到run状态,所以就看到我描述的现象了.
现在我觉得执行是这样的:
第一个transaction执行完毕,用户再集合到第二个transaction,第二个transaction执行完毕,用户再集合到第三个transaction,是这样的吗?
或者是说所有用户到达这三个集合点后,每个用户都同时执行这三个transaction??
回复 #7 mli@dtri.com 的帖子
描述的不清楚,你定义了三个transaction,也定义了三个集合点吗?回复 #8 spartan 的帖子
是的,定义了三个集合点 这问题怎么没继续解答了5555我也遇到了 怎么解决呀
页:
[1]