对系统进行压力测试,通过不断施加压力直至性能指标超过预期或某项资源使用达到饱和,从而验证系统的处理极限,并为系统性能调优提供依据。
① 狭义并发指众多用户在同一时间点执行相同操作,通常指同一业务类型的场景,如一千个用户同时登录系统。
② 广义并发则指多个用户与系统进行交互,这些业务场景可相同也可不同,交叉请求和处理较多。
当系统处于饱和状态时,例如CPU、内存等资源饱和,系统能够处理的会话能力以及是否会出现错误是评估系统性能的重要指标。
主要目的在于检查系统在压力情况下的性能表现,关注是否有错误信息产生,以及系统对应用的响应时间等。
在性能测试中,事务是指从端到端的完整操作过程,如一次登录、一次筛选条件查询或一次支付等。
吞吐量指的是在一次性能测试过程中网络上传输的数据量的总和,也可理解为在单次业务中,客户端与服务器端进行的数据交互总量。
对于交互式应用而言,吞吐量可反映服务器承受的压力。在容量规划的测试中,它是重点关注的指标。在性能调优过程中,吞吐量指标也具有重要价值。
吞吐量的变化可分为三个阶段:上升阶段,吞吐量随负载增加而增加;平稳阶段,吞吐量保持稳定;下降阶段,吞吐量随负载增加而下降。
尽管负载增加,但吞吐量并不总是能够与之相抗衡。
如图所示:a1面积代表系统性能能力,a2面积代表系统稳定性,a3面积代表系统的容错能力。图示仅供参考,实际面积与性能关系需结合实际数据进行分析。
吞吐量除以传输时间得到单位时间内网络上传输的数据量,也可指单位时间内处理客户请求数量,是衡量网络性能的重要指标。
通常以“字节数/秒”衡量吞吐率,也可用“请求数/秒”和“页面数/秒”来衡量。
Transaction Per Second(TPS)指服务器在单位时间内(秒)可以处理的事务数量。
PS:注意到很多文章或性能测试人员将QPS和TPS混淆,个人认为这是基于测试结果的统计。
QPS应视为TPS的子集,即查询操作的事务数。
Query Per Second(QPS)指服务器在单位时间内(秒)处理的查询请求速率。
PS:TPS和QPS都是衡量系统处理能力的重要指标,常与并发量一起评估系统处理能力。
Page View是页面浏览量,用于衡量一个页面甚至整个网站的流量。
具体包括独立访问者数量、重复访问者数量、单个页面访问数量以及用户停留时间等类型。
Response Time或average Response Time指事务完成的响应时间。
平均响应时间是性能测试中的重要指标。此外还有最小、最大响应时间以及50%、90%用户响应时间等细分指标。
思考时间指在性能测试中模拟用户的真实操作场景时的事务间隔时间。此概念用于并发测试时,使业务场景比率更贴近真实情况。
连接池是一种进程内存储和管理的多个连接共享、可复用的资源。
当客户端发起请求时,首先检查是否有闲置连接。如有则分配使用;如无则根据调度配置决定是进入等待队列还是新建连接对象供使用。
连接池的特性和存在减少了连接的建立消耗及连接创建时间,提升了系统伸缩性和服务器性能。