并发用户数如何计算呢?(前提是跑过了TPS,否则跑并发用户数没有意义,并发只是最后的验证)
目前并没有一个精确的计算公式,很多情况下都是根据以往的经验估算。根据行业不同,并发用户数也会有所不同,电信行业并发用户数为在线用户数的万分之一,如有1000万在线用户,则并发用户有数为1000个。OA系统并发用户数一般是在线用户的5%~20%,所以并发用户数很大程度上是根据经验和行业的一些标准来计算的。
以下是相对比较标准的计算方法:
例如OA系统使用用户是100个,这个就是系统用户数,该系统有一个统计查询功能,最高峰在线50人,那么系统的并发数是多少?
OA系统使用用户是100个,这个就是系统用户数。
最高峰值50人同时在线,只表明同时登录了这个模块,并不表示实际服务器承受的压力。因为服务器承受的压力还与具体的用户访问模式相关。这50人在线,有可能开着电脑溜达去了,有的看的别的模块等等。
并发用户:是同时执行一个操作的用户,或者是同时执行脚本的用户,这个并发在设置不同场景的时候并发的情况是不一样的,在实际的测试中需要根据具体的需求进行设计。web系统,在线不等于并发,如何计算这个并发数是个难题。这个就是设置集合点时候设置的在 scenario->Rendezvous,点policy 设置的用户数。
估算并发数的公示:
(1) 计算平均的并发用户数: C = nL/T
(2) 并发用户数峰值: C’ ≈ C+3根号C
公式(1)中,C是平均的并发用户数;n是login session的数量;L是login session的平均长度;T指考察的时间段长度。
公式(2)则给出了并发用户数峰值的计算方式中,其中,C’指并发用户数的峰值,C就是公式(1)中得到的平均的并发用户数。该公式的得出是假设用户的login session产生符合泊松分布而估算得到的。
假设有一个OA系统,该系统有3000个用户,(可以看注册信息)平均每天大约有400个用户要访问该系统,(日志文件查看)对一个典型用户来说,一天之内用户从登录到退出该系统的平均时间为4小时,在一天的时间内,用户只在8小时内使用该系统。
则根据公式(1)和公式(2),可以得到:
C = 400*4/8 = 200
C’≈200+3*根号200 = 242
但是一般的做法是把每天访问系统用户数的10%作为平均的并发用户数。最大的并发用户数乘上一个值,2或者3.
假如说用户要求系统每秒最大可以处理100个登陆请求,10/25/50/75/100 个并发用户来执行登陆操作,然后观察系统在不同负载下的响应时间和每秒事务数。如果用户数在100的时候,响应时间还在允许范围呢,就要加大用户数,例如 120 等 。个人理解这个用户数就是我们经常说的等价类和边界值法来设定。