51Testing软件测试论坛
标题:
我把07年的老贴从水里捞出来晒晒,顺便开新帖提问
[打印本页]
作者:
illlh
时间:
2009-12-17 19:24
标题:
我把07年的老贴从水里捞出来晒晒,顺便开新帖提问
进来的可以先去看老帖,也可以立刻参与下边问题的分析。
看了篇同步点与并发数的讨论贴,回复完才发现是07年的老帖了,这里捞出来晒晒老帖,顺便把问题扔出来。
老帖地址:
http://bbs.51testing.com/viewthread.php?tid=63509&extra=&page=1
本来我以为我明白了,看了帖子我糊涂了,现在怀疑我前几天的测试都做错了,已经彻底不明白了。
楼上的几位大大讨论的偏重理论,少有实践例子,我就把前几天做的一个脚本拿出来,大家帮我分析一下吧。
脚本描述:
action(
login({user},{passwd});
logout([user},{passwd});
) //action部分未设置迭代,参数化数据量假设无穷大,不考虑参数化失败的可能。
场景一描述:
运行50个用户,场景开始执行时,每5秒增加2个VU,达到50个用户后,继续运行3分钟,3分钟后,每2秒停止5个VU,直至所有VU停止。
场景二描述:
对脚本进行修改,在login()前增加集合点,集合点设置数为50,当所有(50个)VU到达后释放。
运行50个用户,场景开始便初始化所有VU,运行3分钟,3分钟后,每2秒停止5个VU。
问题1:
在场景一中,所有50用户都运行起来的3分钟时间里,LR对服务器造成的压力,可否相当于场景二中同步点释放时造成的压力??
问题2:
场景一中VU递增的过程中,假设当前运行的VU为30个,是否可认为当前服务器承受着30用户并发的压力????
我的问题问完了,还有其他不明白的,我就不在这问了。今天这帖子搞得我觉得自己都有点蒙了。希望楼上的大大们给予解答
作者:
ermine
时间:
2009-12-17 20:55
问题1:不等同
以100米赛跑为例,login是起点,logout是终点。(排除init和end,只说action)
场景一是有50个人从起点到终点不停的跑,那每个人速度不一样,所以有一个人A第二次到起点的时候,其他人可能只跑到一半,但是他不管,还是继续跑了。这个时候,对于登录这个并发,其实是1个。
场景二还是50个人跑,A第二次跑到起点,其他人只跑到一半,因为有集合点,A会等其他人都到起点的时候,在1,2,3一起跑。这个时候,对于登录的并发,是50个。
问题2:和问题1一样,场景一中,只能说明有30个人在跑百米,但是不能说明这30个人同时在起跑线。
PS:
原来的帖子,说的是业务的并发不等同于服务器的并发。
还是登陆,假设需求是同时“登陆50人,响应时间小于3秒”。有了集合点,只能说模拟50个人同时向服务器发送请求,但是请求到服务器还经过很多处理,所以这50个请求不一定同时到达服务器上,所以说集合点并不一定是服务器上的并发。不晓得是不是这个意思。
作者:
winthnight
时间:
2009-12-18 10:26
标题:
回复 2# 的帖子
这个问题也困扰了我很久,感谢楼上的回答,现在清楚多了~~~
我还想问下LR模拟带宽的问题
假设我设置的是50并发带集合点,带宽设置为512k,就是说50个VU各占用512k同时并发么?
这样算来一共占用了25m的带宽,可是公司网一共只有8m带宽啊
很疑惑到底是怎么实现的,排队么?可是又有集合点啊。。。。
作者:
illlh
时间:
2009-12-18 11:36
一楼解答得很透彻,比喻很形象,谢谢你。
作者:
liusiyan
时间:
2010-2-21 15:12
我觉得不是这样的,对服务器的压力很难界定,
不管是场景一还是场景二在加压这个过程中,对整个系统的压力还是存在的,只不过是加在系统的不同部分而已,客户端、网络、服务器等
作者:
liusiyan
时间:
2010-2-21 15:13
并没有真正意义上的并发
作者:
liusiyan
时间:
2010-2-21 15:14
集合只是在客户端并发了,服务器端就不得而知了
作者:
htlg
时间:
2010-2-22 11:09
标题:
回复 3# 的帖子
这个问题
就像 你一网站是一个电话号码 要等别人通话结束 才能继续拨入
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2