基本概念
首先您需要了解什么是并发用户、TPS 和它们之间的关系。
-
并发用户:指的是现实系统中同时操作业务的用户,在性能测试工具中一般称为虚拟用户(Virutal User)。一般是站在客户侧评估的角度,但是不便于服务端的一些容量评估和高可用评估。
并发用户跟注册用户、在线用户有很大差别。并发用户一定会对服务器产生压力,在线用户数只是 “挂” 在系统上,对服务器不产生压力,而注册用户一般指的是数据库中存在的用户。
-
TPS:Transaction Per Second, 每秒事务数, 是衡量系统性能的一个重要指标。在 PTS 中,为了直接评估TPS,也可以采用RPS(Request Per Second,每秒请求数)设置压测流量的大小。RPS模式更适合容量规划和作为限流管控的参考依据。
-
再看一个例子:假如 1 个虚拟用户在 1 秒内完成 1 笔事务,那么 TPS 就是 1。要想达到 1000 TPS 至少需要1000 个用户;如果某笔业务响应时间是 1 毫秒,那么 1 个用户在 1 秒内能完成 1000 笔事务,TPS 就是 1000。
因此 1 个用户可以产生 1000 TPS,1000 个用户也可以产生 1000 TPS,主要看响应时间的快慢。
设置目标并发(或RPS)
对于并发用户数的评估:
-
可以选取线上系统在高峰时刻一定周期内使用系统的人数,这些人数可以认为是在线用户数,并发用户数取其 10% 就可以了。例如在 1 小时内使用系统的用户数为 10000,一般建议取 10% 左右作为并发用户数。
-
未上线系统或新上线系统:因没有历史数据可供参考,故只能通过业务发展趋势来预判各项指标。
对于 TPS(RPS)的评估:
-
线上系统:通过线上系统在高峰时刻 10 分钟内完成的业务量,计算出在单位时间内的处理笔数,即 TPS(RPS) = 业务笔数/单位时间(10*60,以秒为单位)。
-
未上线系统或新上线系统:因没有历史数据可供参考,故只能通过业务发展趋势来预判各项指标。