51Testing软件测试论坛

标题: 一个集合点的问题,希望加价帮助分析下 [打印本页]

作者: stomic    时间: 2007-6-27 15:58
标题: 一个集合点的问题,希望加价帮助分析下
集合点是如何查看,我使用了60个用户运行,设置的计划是每15秒运行10个用户当集合后运行1分钟,然后每15秒释放10个用户,然后在control中的集合点策略里设置的是‘当所有正在运行的vuser中的100%到达集合点时释放’

问题:那么这个图里没有显示出50个vuser到54个vuser的的时候用了01:12-02:08,间隔如此之长,(中间有6个vuser运行失败了),那么也未看到我设置的运行一分钟的情况,能解释下吗?为什么在01:12-02:08间隔如此长才加载最后剩下的用户?这段图说明了什么?最后总共释放了15个,并没有释放完?那么又意味着什么?
还有就是为什么最后吞吐量的值在2:48秒过后还突然增大,但是那个时候的事务相应时间都变小了

谢谢大家帮忙分析下

[ 本帖最后由 stomic 于 2007-6-28 17:17 编辑 ]
作者: rickyzhu    时间: 2007-6-27 16:13
因为你的集合点设置问题吧,我想
作者: stomic    时间: 2007-6-27 16:15
集合设置问题?是怎么回事?能够给更详细的解释吗?
作者: stomic    时间: 2007-6-27 16:21
我这是用的lr自带的flight例子,我在log之前做了集合点,意思想在达到这一点时再释放
作者: hesc111    时间: 2007-6-27 17:29
?????????
作者: stomic    时间: 2007-6-27 21:24
哪为能帮忙解释下啊
作者: rickyzhu    时间: 2007-6-27 21:59
你的集合点到了,就全部出发了,后面来的虚拟用户就等集合点结束之后才加载的吧。我想
作者: Jerry_zhiyuan    时间: 2007-6-27 22:23
???
作者: spartan    时间: 2007-6-28 09:58
我对于的你的设置有质疑:
“我使用了60个用户运行,在controller里设置的集合点每15秒运行10个用户当集合后运行1分钟,然后每15秒释放10个用户”

质疑一:当集合后运行1分钟,请问这个在哪里可以设置?
质疑二:每15秒释放10个用户,请问这个在哪里可以设置?
你告诉我你设置的地方,然后我们再继续讨论,如何?
作者: fyf1871    时间: 2007-6-28 14:35
你所描述的并不是集合点,而是如何加载用户。集合点需要在脚本中设置,但是如何处理到达集合点的用户要在Controller的场景->集合点中的策略里设置,那里又3种释放到达集合点用户的三种方式。
作者: stomic    时间: 2007-6-28 15:10
哦,可能我没说清楚,我设置的计划是每15秒运行10个用户当集合后运行1分钟,然后每15秒释放10个用户,然后在control中的集合点策略里设置的是‘当所有正在运行的vuser中的100%到达集合点时释放’,那么这个图里没有显示出50个vuser到54个vuser的的时候用了01:12-02:08,间隔如此之长,(中间有6个vuser运行失败了),那么也未看到我设置的运行一分钟的情况,能解释下吗?
作者: spartan    时间: 2007-6-28 15:43
你能否正面回答我的两个问题,先?
质疑一:当集合后运行1分钟,请问这个在哪里可以设置?
质疑二:每15秒释放10个用户,请问这个在哪里可以设置?
作者: stomic    时间: 2007-6-28 16:08
controller编辑计划里啊
作者: duola1119    时间: 2007-6-28 16:39
标题: 回复 #11 stomic 的帖子
你设置的超时时间是多少?
用户为什么没有加载到60个用户,而是只到54个!把那6个用户的错误发上来.
每15秒增加10个用户,30秒增加20个...增加到50个用户需要5*15=75秒.1分15秒.而图中显示只用了1分4秒就增加到了50个用户.所以在1分15秒的点上.系统才开始增加另外的10个用户,至于为什么没有增加10个而只增加了4个.并且花费时间如此之长就要看看你的错误信息了.
作者: stomic    时间: 2007-6-28 16:59
原帖由 duola1119 于 2007-6-28 16:39 发表
你设置的超时时间是多少?
用户为什么没有加载到60个用户,而是只到54个!把那6个用户的错误发上来.
每15秒增加10个用户,30秒增加20个...增加到50个用户需要5*15=75秒.1分15秒.而图中显示只用了1分4秒就增加到了 ...

谢谢你详细的解释
错误的6个是显示Action(6):Error-27987:Requested image not found
Action.c(6):Error-27796:Failed to connect to server "127.0.0.1:1080":[10061]Connection refused
这个好ibushi因为用户的请求被拒绝后,又重新尝试链接,然后再失败再连接所耗费了时间,然后最后直至连接失败了,才最后释放?

还有就是为什么最后吞吐量的值在2:48秒过后还突然增大,但是那个时候的事务相应时间都变小了

请再帮分析下上面的几个问题,谢谢了先

[ 本帖最后由 stomic 于 2007-6-28 17:21 编辑 ]
作者: spartan    时间: 2007-6-28 17:37
我刚才仔细看了你所问的问题。我的解释如下,仅仅供你参考而已。
1. 50个vuser到54个vuser的的时候用了01:12-02:08?
     答:这个图显示的是集合点随着时间变化,有多少个用户在集合点释放的图形。
           在01:12-02:08时间内,显示了从已经有50个用户在集合点释放,然后聚集再等到到54个用户释放的过程。为什么这么慢? 从图上可以看出,在这段时间中,系统的resoponse time由于某种原因逐渐增大。所以,等了很久才达到54个用户然后释放。

2.也未看到我设置的运行一分钟的情况?
答:这个应该在Runing Vusers图表中进行查看。

3.为什么在01:12-02:08间隔如此长才加载最后剩下的用户?
答:用户加载在你规定的时间内早就加载完成了,可以看Running Vusers图形。
这段时间显示的是:01:12在LR聚集了所有运行状态的50个用户后释放,接着 LR花费了很长的时间到02:08时候才聚集了所有运行状态的54个用户,又释放了一次。 所以,这段时间反映的不是加载用户的过程,而是在前一次释放后和后一次释放之间的等待用户的过程。

4.最后总共释放了15个,并没有释放完?那么又意味着什么?
答:随着secnario的运行,当时间达到你设置的加载完成后运行1分钟的要求的时候。有些用户已经逐渐退出了运行状态。所有到了最后一批释放的用户数肯定是小于满载时所有的用户数54个用户的。至于为什么是15,不是别的数字? 这个只能是说和被测程序,LR的其他设置有关系。但一点是肯定的,最后一批释放的数字肯定小于满载时的运行用户数。
作者: spartan    时间: 2007-6-28 17:41
原帖由 duola1119 于 2007-6-28 16:39 发表
你设置的超时时间是多少?
用户为什么没有加载到60个用户,而是只到54个!把那6个用户的错误发上来.
每15秒增加10个用户,30秒增加20个...增加到50个用户需要5*15=75秒.1分15秒.而图中显示只用了1分4秒就增加到了 ...


你这里一个概念搞错误了!

每15秒增加10个用户,30秒增加20个...增加到50个用户需要5*15=75秒

实际上LR在0秒的时候就已经加载了10个用户,所以要增加到50个用户,需要的时间是:(5-1)*15=60秒!
你可以在LR中试试看,我说的对不对?
作者: stomic    时间: 2007-6-28 18:06
原帖由 spartan 于 2007-6-28 17:37 发表
我刚才仔细看了你所问的问题。我的解释如下,仅仅供你参考而已。
4.最后总共释放了15个,并没有释放完?那么又意味着什么?
答:随着secnario的运行,当时间达到你设置的加载完成后运行1分钟的要求的时候。有些用户已经逐渐退出了运行状态。所有到了最后一批释放的用户数肯定是小于满载时所有的用户数54个用户的。至于为什么是15,不是别的数字? 这个只能是说和被测程序,LR的其他设置有关系。但一点是肯定的,最后一批释放的数字肯定小于满载时的运行用户数。


我想请问下,集合图显表明从集合点释放 Vuser 的时间,以及在每个点释放的 Vuser 的数量。
那么你说的第一次释放50个用户,由于没释放完重新释放,第二次释放54个用户,在这个时候是否会判定未达到60个用户所以继续聚集,然手释放?如果说一次集合到60用户,并且释放了60个用户,那么就不会出现几次聚合和释放的过程
我这样的理解是否是正确的?
作者: stomic    时间: 2007-6-28 18:10
还有spartan  
你的QQ和MSN是多少,我能加你吗?想像你请教些这方面的问题
作者: Athenst    时间: 2007-6-28 18:52
OK,貌似我来的不是地方~~
作者: duola1119    时间: 2007-6-29 08:24
标题: 回复 #17 spartan 的帖子
OK.这里我分析错了.应该是60秒加载50个用户.
不过我不同意你的说法,这个图描述的是加载用户而不是释放用户.图中显示的是50个用户聚集在集合点后,后面的10个没有全部到达集合点.只有4个到达了集合点.于是到了54个用户都在集合点后,才开始释放的.
作者: spartan    时间: 2007-6-29 10:44
在这个图形中的50个用户,54个用户这两个点中。 分别表示LR释放了两次用户,一次是释放了50个用户;一次是释放了54个用户;
为什么两次释放的不一样呢? 因为楼主设置的是:‘当所有正在运行的vuser中的100%到达集合点时释放’

所以,第一次释放的假设应该是这样的。 运行用户数一直在增加,随之集合点的等待用户数也一直在增加。增加到50个用户的时候,LR在等待后一个正在运行中的用户到达集合点,结果LR等待的时间超过了楼主设置的timeout时间,所以这个时候LR由于Timeout的原因全部释放了50个用户。

第二次释放的假设应该是:
第一次释放后,运行用户数又开始重新增加,集合点等待的用户数也随之增加。这次幸运的是,前一个用户等待后一个用户的时间均小于Timeout设置的时间。54个用户就这样一个等一个的,终于等齐了。 然后这个时候,由于满足了释放的条件, LR进行第二次释放的动作。

看看我分析的正确吗? sdlkfj5[attach]28278[/attach]

[ 本帖最后由 spartan 于 2007-6-29 11:04 编辑 ]
作者: suoyi    时间: 2007-6-29 11:24
支持楼上说法~~
作者: gx020104010031    时间: 2007-6-29 15:11
我觉得spartan分析的很有道理,首先lz应该弄清楚 集合点 与 加载用户的区别
作者: ∮随风而去~    时间: 2007-7-2 16:26
看来我还得学习~
作者: hanfeng7766    时间: 2007-7-3 10:14
受益!好帖
作者: 蓝灵飘雪    时间: 2007-7-3 11:22
受益良多
作者: ycxlove11    时间: 2007-7-3 14:44
受益匪浅sdlkfj3
作者: prettyyang    时间: 2007-7-3 14:53
好贴,顶一下
作者: testkong    时间: 2007-7-4 15:31
spartan实在是厉害a
作者: susanmabj    时间: 2007-7-4 20:23
鲜花给错人了。。。
作者: hhy0824    时间: 2007-7-5 09:36
我想问一下Timeout bewteen vuser XXXXX s 他的意思是什么呀?是等待下一个虚拟用户的时间吗?还是所有的虚拟用户等待时间加在一起的时间呢?超过了这个时间就不等待了吗?,就开始释放吗?
作者: spartan    时间: 2007-7-5 10:13
原帖由 hhy0824 于 2007-7-5 09:36 发表
我想问一下Timeout bewteen vuser XXXXX s 他的意思是什么呀?是等待下一个虚拟用户的时间吗?还是所有的虚拟用户等待时间加在一起的时间呢?超过了这个时间就不等待了吗?,就开始释放吗?


Timeout bewteen vuser X s-------
在规定的X秒钟之内,前面已经到达集合点的虚拟用户若等到了后面来的那个虚拟用户的话,大家再继续等待别的后来者,依次类推,集合点的用户数达到满足释放条件的时候,大家一起释放。
在规定的X秒钟之内,前面已经到达集合点的虚拟用户没有等到后面来的那个虚拟用户的话,这个时候不管有没有满足释放的条件,前面已经在集合点的虚拟用户就不用继续等候了,而是一起释放了。

[ 本帖最后由 spartan 于 2007-7-5 10:20 编辑 ]
作者: renheyou    时间: 2007-7-6 17:35
spartan实在是厉害a
作者: liangxue2007518    时间: 2007-7-10 20:35
谢谢spartan 的精彩分析!
作者: liangxue2007518    时间: 2007-7-10 20:37
1.我录制了lr自带的web flight一个登陆脚本,在web_submit_form之前加了集合点和事务,并且在contraller中的配置了集合点的policy.

2.运行后,我查看analysis中的分析图标,发现在左侧的树状图形中我并没有rendezvous那个图表,因此无法把average transaction response time和rendezvous两个图merge在一个图里.

有如下问题,请教大家:
1.如何设置才能在analysis中有rendezvous图?

2.楼住的题目是"设置的计划是每15秒运行10个用户当集合后运行1分钟"中,我在ramp up中设置start 10 个用户 每15秒,在duration中设置run for 000:01:00,不知道lz是否是这样设置的,如果是这样设置的话,我有个疑问?在duration中,run for 000:01:00 下面写的是"after the ramp up has been completed",我的理解是加载完所有的用户(此题中就是60个用户)后,这60个用户持续运行1分钟,并非可以通过这个地方的设置达到"集合后运行1分钟"的要求?因为加载完后并非就直接到达集合点的,所以这个持续运行1分钟中包括达到集合点之前的时间和在集合点等待的时间以及释放后运行的时间.不知道大家对这个点的是怎样理解的?

3.我在运行结果中发现两个错误:
1)
action.c(6): Error -27796: Failed to connect to server "localhost:1080": [10061] Connection refused 49个虚拟用户因为这个错误失败的.
2)
action.c(6): Error -27727: Step download timeout (120 seconds) has expired when downloading resource(s). Set the "Resource Page Timeout is a Warning" Run-Time Setting to Yes/No to have this message as a warning/error, respectively
32个虚拟用户因为这个错误失败的.
请教大家,为什么会有这么多的虚拟用户连接失败呢?第二个问题我没有看明白,是因为我压力机的资源不够,可是我看cpu的使用率不是很高,并没有达到75%?


5.在running vusers图中发现在时间到达24的秒的时候用户已经加载了30个,而实际在contrallor中设置的是每15秒加载10个用户,在前30秒中应该只加载30个用户才对,另外发现在30秒-45秒之间并没有加载用户,为什么本应该在elapsed time到达30秒时才应该加载的10个用户确在上一个10秒中加载了?
在持续1分钟后,60个用户本来应该在75秒内停止完毕,但实际从图上看到并不时这样.为什么用户再运行后还需要这么长时间停止,这段时间内都做什么事情?

6.前面提到在50个用户和54个用户两个点的时候先后释放了两次,那请问在由00:08--01:12(50个用户那点)这个区间内的线上的每个点(x,y),是否说明在时间x时释放了y个用户呢?如果时这样的话那就是在不停的释放了,还有集合点的意义么?为什么只说就这两个点是集合后释放用户的点呢?
作者: suoyi    时间: 2007-7-11 09:40
试回答几个问题:
1. 在Analysis的树状图的“New Graph”中能找到“rendezvous”吧。
2. Controller的“Edit Schedule”中设置整个场景的运行策略,集合点的策略需要在“Scenario->Rendezvous”中设置。
5. 上面已经说过,场景在0秒的时候已经加载了10Vuser,可以从“Running Vusers”图中看出来。

顺便帮你顶一下~~
作者: spartan    时间: 2007-7-20 11:38
标题: 回复 #37 liangxue2007518 的帖子
一下子提出了这么多的问题。 试着回答几个给你。
2. “我的理解是加载完所有的用户(此题中就是60个用户)后,这60个用户持续运行1分钟,并非可以通过这个地方的设置达到"集合后运行1分钟"的要求?” 
答:你的想法是对的。 只能设置加载满用户后,LR联系运行多长时间。 而没有办法设置集合后运行多长时间的。 

5.”为什么本应该在elapsed time到达30秒时才应该加载的10个用户确在上一个10秒中加载了?“
答:因为LR在0:00秒的时候就已经加载了10个用户,所以如果每10秒加载10个用户的话,第30秒的时候已经在加载第40个用户了。
“在持续1分钟后,60个用户本来应该在75秒内停止完毕,但实际从图上看到并不时这样.为什么用户再运行后还需要这么长时间停止,这段时间内都做什么事情?”
答:"60个用户本来应该在75秒内停止完毕" 这个想法和理解是错误的。假如你的设置是:10秒钟停止2个用户;你总共有10个用户,从开始停第一个用户开始到最后完全停完10个用户,需要的时间不是:(10/2)*10=50秒。而决定于LR正在跑的业务动作,LR停止用户,指的是从某个时刻开始停止用户,但要等这个用户正在作的事情做好后,才能停止下来。这样的话,就没有办法计算从开始停到最终停止所消耗的时间了。 

6.“前面提到在50个用户和54个用户两个点的时候先后释放了两次,那请问在由00:08--01:12(50个用户那点)这个区间内的线上的每个点(x,y),是否说明在时间x时释放了y个用户呢?如果时这样的话那就是在不停的释放了,还有集合点的意义么?为什么只说就这两个点是集合后释放用户的点呢?”
答:00:08--01:12是说:在00:08的时候释放了10个用户,在01:12时释放了50个用户。
  在某个iteration中释放了用户,在下个iteration中又会集合,然后释放,。。。。。依次类推。
  这两个点为什么是释放用户的点,因为这个图就显示的这个东西。没有为什么!


[ 本帖最后由 spartan 于 2007-7-20 11:41 编辑 ]




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2