您当前的位置:主页 > www.270999.com >

LoadRunner并发用户和集合点的深入讨论

作者:admin     发布时间:2019-09-10 05:20 点击数:

  看到51上三个高手Zee, 大漠飞鹰,xingcyx的一场非常精彩的关于并发用户数和集合点的讨论,很有意义。如果对这两个概念不清楚的朋友,一定要仔细领悟了。百万图库王中王届时《后天》导演罗兰

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

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

  并发用户数,顾名思义,就是同时操作的用户,这里的“操作”可以指对系统真正的操作,也可以只是连接(此时通常叫作“并发连接数”),而集合点是一种特殊

  情况下的并发,多用于测试系统在瞬间加压的表现。因此,并发用户数和集合点有联系,但并非必然的联系,在测试并发用户的性能测试场景中,可以不必设置集合

  “严格意义上”的并发,其实从本质上看,这主要是一个看问题的粒度大小的问题。集合点的作用是通过工具的控制,确保一个请求严格的“同时”从前台提交到后

  台。可是如果微观地看,是不存在严格意义上的并发的,即使在客户端通过设置集合点的方式将100个请求同时提交到后台,经过网络上的传输消耗,可能它们并

  不是同时到达的,而即便100个请求同时到达服务器端,受到中间件和应用系统、数据库的各种连接池、缓冲区,

  CPU处理队列等的限制,也可能在服务器端产生等待的。因此,严格意义上的“并发”可以说是不存在的,我们需要做的是在可以接受的粒度范围内取得一个最佳

  在以评测为目的的性能测试中,用户更关心的是业务上的并发,也就是真实业务场景的并发情况,这种情况下只要按照业务操作的模式去设置场景就可以了,并不需要设置集合点。

  集合点是一种特殊情况下的并发,通常是在以调优为目的的性能测试中才会用得到,目的是有针对性地对某个可能存在性能问题的模块施压,以便找到性能瓶颈。

  关于集合点,我一直觉得没有什么可争议的,这两天看到几个帖子在说这个东西。有一点我想大家都是认同的:集合是相对的集合。

  集合是在产生负载的机器上的集合。如果考虑网络,中间件等等的因素。到服务器肯定不会是同一时间点,那于是就有人希望能更接近在服务器端实现并发的操作。认为这才是真正的并发。

  比如说,你想让某个URL能达到1000个同时请求的目的。这样的目标就比较明确了。

  而在讨论集合点的时候,大家很少拿具体的东西来举个例子。近期黄金走势如何!这样有点说不清楚。要想达到并发。我觉得应该更具体的分析应用。再来定下目标来做。而不是一直在讨论LR如何能实现。

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

  就说明“该系统应支持200个并发用户。”, 这种需求严格意义上来说是不合格的需求,因为描述不够清晰,过于模糊等。

  当然,在实际中,这类需求到了我们测试人的手里也是常有的,一般就当普遍的情况来出来。

  比如,web系统,就按2/5/8,或者2/5/10来处理,如果能通过就pass,否则就让开发人员调优。

  那要问清楚的就是,200个用户是个什么样的比例,有多少人在干这个,有多人在干那个,按百分比,用不同的脚本来跑。

  再来想一下客户。他关心的是200个用户在服务器上同时点同一个URL或者某一个相同的资源?这个客户我想大多不会关心。而他想要的就是我有200个用户

  在线的时候。响应时间不至于让人不可接受。至于多少才不可接受。按平常人的心理承受能力来衡量就可以了。再或者有其他的说法,就是200人同时点同一

  URL或者请求同一资源,我想可以通过计算来增加vuser的数量或者集合呀,或者其他的方法来努力的向这个目标靠近。

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

  楼上说的是最常见的一种情况,在这种测试需求下,我会设置一个混合场景来测试,也就是按照做不同事情的用户的百分比去设置。

  但会有另外一些时候,并不是一个实际的应用系统,红叶心水之论坛。可能是一个开发平台,或者工作引擎等,它涉及的性能的概念会更偏向底层一些,这个时候可能就不是像一般的应用系统那样,设置一个混合场景来测试那么简单了。

  解:业务并发分相对的和绝对的,分同时在线和同时触发,是从功能角度上去分析,如对某个功能操作进行并发测试;服务器并发是从服务器端看,接收到并发请

  求,一般是绝对并发,客户端绝对的无间隔并发在服务器端不一定无间隔并发,因为有网络等原因,到了服务器端往往就不是绝对并发了,是从技术角度去分析。

  LoadRunner 并发时,一般需要进入参数化 用户名或者相关的字段数据,用以满足在并发时无限的接近真实的使用场景: 但当你在设置好参数化的读取规则后,在执行并发场景时,用户并发加载顺序是否确实如你 ...

  自动转开发后,就很少关注性能测试方面的东西,最近在帮朋友做一个性能压测,由于朋友那边的公司比较小,环境比较简单,而且是对http服务进行的压测,所以最终 选用了jmeter来实现这个压测. 如下就是我 ...

  loadrunner学习笔记-02集合点 集合点函数可以帮助我们生成有效可控的并发操作.虽然在Controller中多用户负载的Vuser是一起开始运行脚本的,但是由于计算机的串行处理机制,脚本的运行 ...

  本文将从负载测试的角度,描述了做一次流畅的5万用户并发测试需要做的事情. 你可以在本文的结尾部分看到讨论的记录. 快速的步骤概要 编写你的脚本 使用JMeter进行本地测试 BlazeMeter沙箱测 ...

  测试要求:   在本次测试中,我需要并发50个User,每一个User占用一个独立的IP,并且只执行一次脚本.脚本中发起两个请求,其中第一次请求返回200后才执行第二个请求.使用win7 OS.   ...

  先说明一点,使用录制的手段拿到的测试脚本和工程师自己编写的测试脚本其实是一样的,不要觉得录制的方式low,而自己编写脚本就显得高大上,这是不对的.除非工程师本身对开发们写的代码逻辑很熟,对业务上的各个 ...

  查看vuser类型LoadRunner提供了多种Vuser技术,通过这些技术可以在使用不同类型的客户端/服务器体系结构时生成服务器负载.每种Vuser技术都适合于特定体系结构并产生特定的Vuser类型 ...

  题目描述 Palmia河从东往西流过Palmia国,把整个国家分成南北两半.河的两岸各有N个城市,北岸的每一个城市都与南岸的一个城市互为友好城市,而且任意两个北岸城市的友好城市都不相同.每一对友好城市 ...

  最近耗时多天,成功的将RT3070驱动.并解决了socket的网络编程,成功的在BA9G10上面实现了USB wif.连上家里的无线路由器,通过ubuntu下面建立的服务端程序,将BA9G10中的数据 ...

  使用GDB调试器 GDB概要---- GDB是GNU开源组织公布的一个强大的UNIX下的程序调试工具.也许,各位比較喜欢那种图形界面方式的,像VC.BCB等IDE的调试,但假设你是在UNIX平台下做软 ...

关闭窗口