关于性能测试中的“并发用户数”小结

上一篇 / 下一篇  2011-05-07 15:18:08 / 个人分类:性能测试

 并发用户数量,有两种常见的错误观点。一种错误观点是把并发用户数量理解为使用系统的全部用户的数量,理由是这些用户可能同时使用系统;还有一种比较接近正确的观点是把用户在线数量理解为并发用户数量。实际上,在线用户不一定会和其他用户发生并发,例如正在浏览网页的用户,对服务器是没有任何影响的。但是,用户在线数量是统计并发用户数量的主要依据之一。

  并发主要是针对服务器而言,是否并发的关键是看用户操作是否对服务器产生了影响。因此,并发用户数量的正确理解为:在同一时刻与服务器进行了交互的在线用户数量。这些用户的最大特征是和服务器产生了交互,这种交互既可以是单向的传输数据,也可以是双向的传送数据。

  并发用户数量的统计的方法目前还没有准确的公式,因为不同系统会有不同的并发特征。一般是使用该系统用户数量(平均在线用户数)的10%~20%左右。对于这个公式是没有必要拘泥于计算的结果,因为为了保证系统的扩展空间,测试时的并发用户数量要稍微大一些,除非是要测试系统能承载的最大并发用户数量。

LoadRunner中的并发用户数”理解:

  关于并发用户数的问题,一直很困惑着我对性能测试方面的理解。

  1、在LR中,“并发用户数量”是怎么设置?

  我个人的理解是在LR的controller中设置,如附件,这样理解对吗?

  2、LR中也一直提及到“虚拟用户”,那到底“虚拟用户”和“并发用户”在LR的场景中是怎么设置的?

  两者是同一概念吗?

  3、一般怎么计算并发用户数?根据什么计算?

  首先LR上设置的虚拟用户指的是在系统中运行的用户数,如果你在脚本中设置了集合点,那么脚本运行到那个点上时,就开始做你提的那个并发操作了

  比如说:我们有一个这样的场景,我系统在线用户是150个,但是同时操作某一个事物(比如说登陆操作)的人是20个

  那么场景怎么设计了?在Controller中设置150个虚拟用户执行这个脚本(整个大的脚本),然后登陆操作(具体交易)之前放一个集合点,然后设置集合点的策略(20个用户到达时即执行集合点)

  并发用户实际从应用角度来分析可以分为如下几种

  注册用户

  在线用户

  并发用户

  并发用户:是同时执行一个操作的用户,或者是同时执行脚本的用户,这个并发在设置不同场景的时候并发的情况是不一样的,在实际的测试中需要根据具体的需求进行设计;

  集合点:如果脚本中设置集合点,可以达到绝对的并发,但是集合点并不是并发用户的代名词,设置结合点和不设置结合点,需要看你站在什么角度上来看待并发,使整个服务器,还是提供服务的一个事务;

  虚拟用户,就是LR通过某种仿真机制虚拟出来的用来仿真用户行为的用户,一般以线程或者进程来实现用户的仿真!


TAG:

 

评分:0

我来说两句

Open Toolbar