在软件性能测试中,TPS、响应时间和并发用户数是三个最重要的标准,它们共同刻画了系统在面对一定负载时的处理能力和用户体验。理解这些标准的含义及其相互关系,是进行性能分析、短板定位和容量规划的基础。
1. 并发用户数
定义
并发用户数指的是在同一时间点(或极短时间窗口内)和系统进行交互的活跃用户数量。反映了系统需要同时处理的用户请求的规模。
重点
真实并发 vs. 服务器并发:工具模拟的并发用户数一般是线程数或虚拟用户数,但这些用户发出的请求在服务器端可能由于网络延迟、处理时间等原因并不会完全同时到达。真正的服务器并发是指服务器端同时处理的请求数。
模拟方式:性能测试工具通过多线程或多进程模拟多个用户同时操作,一般包括思考时间(用户操作间隔)来更贴近真实情形。
影响:并发用户数越高,系统需要消耗的CPU、内存、数据库连接等资源就越多。过高的并发可能导致系统崩溃或响应急剧变慢。
2. 响应时间
定义
响应时间是指从客户端发起一个请求开始,到客户端收到服务器返回的完整响应所经历的时间。直接决定了用户体验的好坏。
重点
组成:响应时间一般包括网络传输时间(请求发送、响应接收)、服务器处理时间(应用思路、数据库查询等)、以及可能的排队等待时间。
统计:
平均响应时间:所有请求响应时间的算术平均值,但容易受极端值影响。
百分位响应时间:如90分位、95分位、99分位,表示有90%、95%、99%的请求响应时间低于该值。这是测量系统稳定性和用户体验的更可靠标准(如,大多数用户不会遇到最慢的那1%请求)。
用户体验:一般认为1秒以内响应是优秀的,1~3秒可接受,超过3秒会导致用户流失。
3. TPS(每秒事务数)
定义
TPS(Transactions Per Second)是指系统每秒能够处理完成的事务数量。在性能测试中,事务一般指一个完整的业务操作(如登录、下单、查询),也可以是一个接口请求。
重点
吞吐量的重要标准:TPS直接反映了系统的处理能力。吞吐量越高,系统在单位时间内能处理的业务量越大。
和并发用户数、响应时间的关系:
根据利特尔定律(Little‘s Law):N = TPS × RT(N为并发用户数,RT为平均响应时间)。
这意味着在稳定状态下,并发用户数等于TPS乘以平均响应时间。如,如果系统平均响应时间为0.5秒,TPS为100,那么它能稳定支撑的并发用户数约为50。
拐点分析:随着并发用户数增加,TPS一般会先线性上升,达到系统短板后趋于平稳甚至下降(此时响应时间急剧增加)。这个拐点就是系统的最大处理能力。