51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 43320|回复: 117
打印 上一主题 下一主题

[资料] 关于并发用户与集合点的问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-1-22 12:35:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 thirfing 于 2013-5-13 10:03 编辑

声明:以下的问答是我根据实际工作经验和通过各种途径得到的信息而整理的,其回答内容主要代表我个人观点,并非标准答案,读者如有不同意见,欢迎批评指教。

Q:并发用户数和集合点有必然联系吗?在性能测试中必须使用集合点来测试吗?

A:并发用户数,顾名思义,就是同时操作的用户,这里的“操作”可以指对系统真正的操作,也可以只是连接(此时通常叫作“并发连接数”),而集合点是一种特殊情况下的并发,多用于测试系统在瞬间加压的表现。因此,并发用户数和集合点有联系,但并非必然的联系,在测试并发用户的性能测试场景中,可以不必设置集合点,这将视测试目标和测试策略而定。


Q:不设置集合点的测试,能代表是“并发”操作吗?

A:有这样一种说法,设置集合点是为了确保“严格意义上”的并发,其实从本质上看,这主要是一个看问题的粒度大小的问题。集合点的作用是通过工具的控制,确保一个请求严格的“同时”从前台提交到后台。可是如果微观地看,是不存在严格意义上的并发的,即使在客户端通过设置集合点的方式将100个请求同时提交到后台,经过网络上的传输消耗,可能它们并不是同时到达的,而即便100个请求同时到达服务器端,受到中间件和应用系统、数据库的各种连接池、缓冲区,CPU处理队列等的限制,也可能在服务器端产生等待的。因此,严格意义上的“并发”可以说是不存在的,我们需要做的是在可以接受的粒度范围内取得一个最佳的平衡点,站在这个平衡点的层面上去看待“并发”这个问题。

性能测试无非有两个目的,一是评测,二是调优。
在以评测为目的的性能测试中,用户更关心的是业务上的并发,也就是真实业务场景的并发情况,这种情况下只要按照业务操作的模式去设置场景就可以了,并不需要设置集合点。
集合点是一种特殊情况下的并发,通常是在以调优为目的的性能测试中才会用得到,目的是有针对性地对某个可能存在性能问题的模块施压,以便找到性能瓶颈。


集合点在我实际的测试过程中用得并不多。

[ 本帖最后由 xingcyx 于 2007-1-22 12:46 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

推荐
发表于 2008-1-10 18:15:22 | 只看该作者

回复 1# 的帖子

说说我对集合点的理解
举例说明吧:比如赛跑,都有一个起跑线,所有参赛选手都是站在同一起跑线开始跑,那么这个起跑线就相当于是集合点。
例如 :登录, 设置集合点后,所有的用户几乎可以认为是同时点击登录的,这个是严格意义上的并发
不设置集合点,就有用户先登录,有用户后登录,但是对服务器来说这种情况也是并发,只不过压力分散了
回复 支持 1 反对 0

使用道具 举报

该用户从未签到

2#
发表于 2007-1-22 13:53:31 | 只看该作者
sdlkfj3 先占个位子。

[ 本帖最后由 Zee 于 2007-1-22 13:55 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2007-1-22 14:13:27 | 只看该作者
关于集合点,我一直觉得没有什么可争议的,这两天看到几个帖子在说这个东西。有一点我想大家都是认同的:集合是相对的集合。
集合是在产生负载的机器上的集合。如果考虑网络,中间件等等的因素。到服务器肯定不会是同一时间点,那于是就有人希望能更接近在服务器端实现并发的操作。认为这才是真正的并发。
我觉得首先要做的是分析应用系统,到底你想做的是什么。
比如说,你想让某个URL能达到1000个同时请求的目的。这样的目标就比较明确了。
而在讨论集合点的时候,大家很少拿具体的东西来举个例子。这样有点说不清楚。要想达到并发。我觉得应该更具体的分析应用。再来定下目标来做。而不是一直在讨论LR如何能实现。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2007-1-22 14:29:21 | 只看该作者
因为在实践中,我经常会碰到这样的情况:
测试需求说,该系统应支持200个并发用户。

那么我们就开始测,录制好脚本,下一步就是在场景中执行了,在控制台中设置某脚本并发用户数为200,测试结果为通过或未通过。此时争议就来了:这200个用户的脚本如果执行通过,测试结果可以接受,是否可以说这个系统支持了200个并发呢?
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2007-1-22 14:43:17 | 只看该作者
你说的是不是太过泛泛?如果用户说这系统要支持200个并发。那做性能测试的人知道这句话有很大的出入。
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2007-1-22 15:08:50 | 只看该作者
原帖由 xingcyx 于 2007-1-22 14:29 发表
因为在实践中,我经常会碰到这样的情况:
测试需求说,该系统应支持200个并发用户。

那么我们就开始测,录制好脚本,下一步就是在场景中执行了,在控制台中设置某脚本并发用户数为200,测试结果为通过或未通 ...


测试前肯定要了解需求,或者说是测试目的。
就说明“该系统应支持200个并发用户。”, 这种需求严格意义上来说是不合格的需求,因为描述不够清晰,过于模糊等。
当然,在实际中,这类需求到了我们测试人的手里也是常有的,一般就当普遍的情况来出来。
比如,web系统,就按2/5/8,或者2/5/10来处理,如果能通过就pass,否则就让开发人员调优。
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2007-1-22 15:45:59 | 只看该作者
那么楼上的两位就请说说,你们实际的工作中,需求是怎么提出来的,或者你们是怎么去确定出来的,到了最后确定了的测试需求是个什么样子?给出来大家参考一下。
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2007-1-22 16:06:31 | 只看该作者
从集合点到并发数的确定。我觉得这其中的转换最主要的地方在于分析业务。

比如用户说了:要求200个用户并发。
那要问清楚的就是,200个用户是个什么样的比例,有多少人在干这个,有多人在干那个,按百分比,用不同的脚本来跑。
那再来想一下客户。他关心的是200个用户在服务器上同时点同一个URL或者某一个相同的资源?这个客户我想大多不会关心。而他想要的就是我有200个用户在线的时候。响应时间不至于让人不可接受。至于多少才不可接受。按平常人的心理承受能力来衡量就可以了。再或者有其他的说法,就是200人同时点同一URL或者请求同一资源,我想可以通过计算来增加vuser的数量或者集合呀,或者其他的方法来努力的向这个目标靠近。

如果说非要在服务器上这个时间并发这么多的用户。我觉得只能尽量把它缩小到一个时间段内。而这样做我觉得并不是从分析业务出发的,
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2007-1-22 16:47:37 | 只看该作者
楼上说的是最常见的一种情况,在这种测试需求下,我会设置一个混合场景来测试,也就是按照做不同事情的用户的百分比去设置。
但会有另外一些时候,并不是一个实际的应用系统,可能是一个开发平台,或者工作引擎等,它涉及的性能的概念会更偏向底层一些,这个时候可能就不是像一般的应用系统那样,设置一个混合场景来测试那么简单了。
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2007-1-22 16:55:01 | 只看该作者
所以偶认为先分析应用。
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2007-1-22 17:22:00 | 只看该作者
一般说的并发数指的是业务并发,而不是服务器端得并发数。
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2007-1-22 17:58:59 | 只看该作者
同意楼上。
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2007-1-22 18:25:57 | 只看该作者
一个业务并发,一个服务端最大并发数,针对测试目标不一样选择其中

测最大并发数可能有意外收获哦!!资源争用,DEADLOCK,等
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2007-4-17 16:40:07 | 只看该作者
上面的分析的不错,受教了~
谢谢各位分享.
回复 支持 反对

使用道具 举报

该用户从未签到

15#
发表于 2007-4-17 16:49:07 | 只看该作者
如果要测服务器并发该怎么做呢?
如果要做压力测试那就应该加集合点对吗?比如网站这种没有固定需求的东西。如果我找使用最多的业务做并发,应该做服务器端的还是客户端的呢?
回复 支持 反对

使用道具 举报

该用户从未签到

16#
发表于 2007-4-17 16:56:52 | 只看该作者
学习ing!  sdlkfj3
回复 支持 反对

使用道具 举报

该用户从未签到

17#
发表于 2007-4-17 21:55:22 | 只看该作者
分析得非常精彩和透彻,整理一下,转载在我的博客上了。
:)
回复 支持 反对

使用道具 举报

该用户从未签到

18#
发表于 2007-4-18 09:28:22 | 只看该作者
mark 学习中...
回复 支持 反对

使用道具 举报

该用户从未签到

19#
发表于 2007-5-25 17:03:33 | 只看该作者
多学习
积累知识,争取早日能和前辈们一起讨论
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2019-2-1 16:33
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    20#
    发表于 2007-5-28 11:34:45 | 只看该作者
    学习了~~~感觉大家都说得有点道理!
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-4-26 16:11 , Processed in 0.108780 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表