在计算并发用户数之前,需要先了解2个概念。
并发用户:指的是现实系统中同时操作业务的用户,在性能测试工具中一般称为虚拟用户。并发用户这些用户的最大特征是和服务器产生了交互,这种交互既可以是单向的传输数据,也可以是双向的传送数据。
TPS:每秒事务数,每秒钟系统能够处理的交易或事务的数量每秒事务数,是衡量系统性能的一个重要指标。
而性能测试过程中,不是发起的并发用数越多,系统能够支撑从而说明性能就越好。计算并发用户数需要结合TPS考虑,两者的关系是事务靠虚拟用户产生,假如1个虚拟用户在1秒内完成1笔事务,那么TPS就是1,要想达到1000TPS至少需要1000个用户;如果某笔业务响应时间是1毫秒,那么1个用户在1秒内能完成1000笔事务,TPS就是1000。因此1个用户可以产生1000TPS,1000个用户也可以产生1000TPS,主要看响应时间的快慢。性能测试需要一套标准化流程及测试策略,如果在没有充分评估的前提下一次加压大量用户会导致系统失败率高响应时间长,最终的测试结果没有太大意义。
估算并发用户数的方法:
公式1:
平均并发用户数:C = nL/T
并发用户数峰值:C’= C+3根号C
C是平均的并发用户数;n是login session的数量;L是login session的平均长度;T指考察的时间段长度。
举例
一个系统有3000个用户,平均每天大约有400个用户要访问该系统,对一个典型用户来说,一天之内用户从登录到退出该系统的平均时间为4小时,在一天的时间内,用户只在8小时内使用该系统。
C = 400*4/8 = 200
C’= 200+3*根号200 = 242
公式2
平均并发用户数:C=n/10
并发用户数峰值:C’=r*C(通常r=2~3)
通常用访问系统的用户最大数量的10%作为平均并发用户数
公式3
根据TPS估计:公式为C = (Think time + 1)*TPS
公式4
根据系统用户数计算:并发用户数=系统最大在线用户数的8%到12%