mli@dtri.com 发表于 2007-9-6 14:41:54

为什么vusers会多次提交到集合点?

我运行了50个虚拟用户,事务前加集合点,提交事务为上传文件(10M左右),vusers的状态变化为Run->Rendez->Run->Rendez->run,为什么会出现这种情况?是因为server返回的信息太慢吗?这种情况可能跟网络有关系吗?望高手指点

spartan 发表于 2007-9-6 14:48:28

Run:虚拟用户还未到达集合点之前的脚本运行;
Rendez:是指在虚拟用户在集合点等待;
RUN:集合点释放后,虚拟用户继续运行;
Rendez:第二个循环,虚拟用户在集合点等待;
RUN:第二个循环,集合点释放后,虚拟用户继续运行;
.....................................

依次类推,直至达到设定的运行循环数或者运行的时间。

mli@dtri.com 发表于 2007-9-6 16:09:10

原帖由 spartan 于 2007-9-6 14:48 发表 http://bbs.51testing.com/images/common/back.gif
Run:虚拟用户还未到达集合点之前的脚本运行;
Rendez:是指在虚拟用户在集合点等待;
RUN:集合点释放后,虚拟用户继续运行;
Rendez:第二个循环,虚拟用户在集合点等待;
RUN:第二个循环,集合点释放后,虚拟 ...
忘记说了,我没有设置循环, iteration为1,继续期望指点

spartan 发表于 2007-9-7 17:34:19

回复 #3 mli@dtri.com 的帖子

你没有设置循环,那你一定设置了持续运行时间了吧。 如果你设置的持续运行时间比较大的话,那脚本运行就不至一个循环了。

那,你设置的持续运行时间为多少?以及你的脚本跑一个循环要多长时间?

wing1799 发表于 2007-9-7 19:32:25

你设置了运行持续时间吧,也就是说如果你的第n个用户和第n+1个用户之间的时间间隔大于你所设定的运行时间的话,那么已经到达集合点的用户就会开始向下执行,而剩下的用户则会在集合点处重新集合。

serenawei 发表于 2007-9-7 19:53:24

看你的“Timeout between vuser”这一项, 也就是用户超时时间设置为多少,第n个用户和第n+1个用户之间的等待时间超这个设置值,已经到达集合点的用户开始向下执行,而剩下的用户则在集合点重新集合。
打个比方:
你这个超时时间设置为5秒,从第一个用户到达集合点开始计时,第二个用户在5秒内到达集合点,而第三个用户在第二个用户到达集合点开始计时,5秒内没有到达集合点,第一个用户和第二个用户不再等第三个用户,他们两个一起向下执行,而第三个用户只是到达集合点,等待第四个用户......
以此类推
所以,会出现LZ你所说的Run->Rendez->Run->Rendez->run这种状态

mli@dtri.com 发表于 2007-9-8 11:13:47

谢谢大家热情的回复!!
我观察到的现象是这样的,在action中我定义了三个transaction,条件判断要执行的transaction,如果第一个transaction满足执行条件,用户到第一个集合点集合,接着判断第二个集合点,同样满足条件,用户在第二个集合点集合,接着判断第三个集合点,同样满足条件,用户在第三个集合点集合,每次集合之前用户会回到run状态,所以就看到我描述的现象了.
现在我觉得执行是这样的:
第一个transaction执行完毕,用户再集合到第二个transaction,第二个transaction执行完毕,用户再集合到第三个transaction,是这样的吗?

或者是说所有用户到达这三个集合点后,每个用户都同时执行这三个transaction??

spartan 发表于 2007-9-10 10:57:09

回复 #7 mli@dtri.com 的帖子

描述的不清楚,你定义了三个transaction,也定义了三个集合点吗?

mli@dtri.com 发表于 2007-9-10 11:35:50

回复 #8 spartan 的帖子

是的,定义了三个集合点

609331089 发表于 2011-11-8 17:01:28

这问题怎么没继续解答了5555我也遇到了 怎么解决呀
页: [1]
查看完整版本: 为什么vusers会多次提交到集合点?