news 2026/5/19 11:29:16

性能测试的几个主要术语及计算

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
性能测试的几个主要术语及计算

01 主要术语

用户数

有时会看到下面这样的描述:一个系统注册用户达到6000万人,其中每小时的活跃用户大概在60万人左右。这段描述介绍了两个信息,第一个信息:6000万人指的是注册用户,第二个信息:60万人指的是真实在线用户。

  • 注册用户数(系统用户数)

注册用户是存在于系统数据库表中的基础数据。这部分用户是指系统所拥有的所有用户群体。这些用户是不会全部对系统造成压力的,唯一的压力就是这些用户占用了系统的存储,影响了数据库的容量。

  • 在线用户

在线用户是真实产生压力的用户,这些用户是压力的根源,也就是系统要能够支持这么多人同时在线业务。

同时在线用户数:在一定的时间范围内,最大的同时在线用户数量

同时在线用户数 = 每秒请求数RPS(吞吐量)+并发连接数+平均用户思考时间

  • 并发用户

在线用户是真实的用户,但不是所有的在线用户都会在系统上操作,可能有些用户在浏览网页、有些用户在做业务、有些用户只是开着浏览器。这时在线用户对系统产生压力的用户只有一部分,而这部分用户就是在线用户中的有效并发用户

平均并发用户数的计算:C=nL / T

其中C是平均的并发用户数,n是平均每天访问用户数(login session),L是一天内用户从登录到退出的平均时间(login session的平均时间),T是考察时间长度(一天内多长时间有用户使用系统)

并发用户数峰值计算:C^约等于C + 3*根号C

其中C^是并发用户峰值,C是平均并发用户数,该公式遵循泊松分布理论

对绝大多数场景,我们用(用户总量/统计时间)*影响因子(一般为3)来进行估算并发量

  • 虚拟用户

虚拟用户即Virtual User,简称Vuser,是性能测试工具产生的用户,用来模拟真实用户进行的一系列业务逻辑操作

事务(TPS)

  • 事务:事务指的是业务逻辑上的事务


    注册用户是一个事务,只用提交注册发生时到注册成功返回页面时的事务,它包括多个页面或者JS等组件的交互

  • TPS:每秒钟事务数量

  • 事务并发数:系统同时处理的事务数

  • 响应时间:一般的相应时间都是指事务从开始到结束时间;取平均响应时间

理解了上面三个要素的意义之后,就能推算出它们之间的关系:

TPS = 事务并发数/平均响应时间

事务并发数 = TPS*平均响应时间

无论有无思考时间(TS),测试所得的TPS值和并发虚拟用户数(Vu)、交易响应时间(T)之间有以下关系(稳定运行情况下):

TPS=Vu / (T+TS)

响应时间

对请求作出响应所需要的时间:

  • 网络传输时间:N1(发送请求)+N2(内部处理请求)+N3(返回结果)+N4(展示结果)

  • 应用服务器处理时间:A1(处理请求)+A3(返回结果)

  • 数据库服务器处理时间:A2(操作数据库时间)

响应时间=N1+N2+N3+N4+A1+A3+A2

在性能测试结果分析中,分为事务最小响应时间、事务平均响应时间、事务最大响应时间和90%事务响应时间。一般时间的标准时间为90%响应时间,即测试过程中90%的业务用了多长时间。

QPS

在性能测试中有时可以将TPS、QPS认为是一样的:

  • QPS:每秒钟request数量(每秒查询率),是对一个查询服务器在规定时间内所处理流量多少的衡量标准

  • 请求并发数:系统同时处理的request数

  • 响应时间:一般取平均响应时间

理解了上面三个要素的意义之后,就能推算出它们之间的关系

QPS= 请求并发数/平均响应时间

请求并发数= QPS*平均响应时间

一个典型的上班签到系统,早上8点上班,7点半到8点的30分钟的时间里用户会登录签到系统进行签到。公司员工为1000人,平均每个员工登录签到系统的时长为5分钟,可以用下面的方法计算:

QPS = 1000/(30*60) 事务/秒

平均响应时间 = 5*60 秒

并发数= QPS平均响应时间 = 1000/(3060) (560)=166.7

PV(Page View)

PV即Page View,意思是页面浏览量或单机率,通常是用来衡量一个网站的主要指标

一个PV狭义上讲等于一个TPS,可以将页面元素从性能测试结果中分析出来,所以也可以将PV和TPS整合;但是广义上来说,一个页面有很多的图片、链接和CSS等,而这里的每一个图片、链接都是PV

思考时间

Think Time,从业务角度来看,这个时间指用户进行操作时每个请求之间的时间间隔,而在做性能测试时,为了模拟这样的时间间隔,引入了思考时间这个概念,来更加真实的模拟用户的操作。

  • 在吞吐量这个公式中F=Vu * R / T说明吞吐量F是Vu数量、每个用户发出的请求数R和时间T的函数,而其中的R又可以用时间T和用户思考时间TS来计算:R = T / TS

下面给出一个计算思考时间的一般步骤:

A、首先计算出系统的并发用户数

C=nL / T F=R×C

B、统计出系统平均的吞吐量

F=VU * R / T R×C = VU * R / T

C、统计出平均每个用户发出的请求数量

R=u*C*T/VU

D、根据公式计算出思考时间

TS=T/R

吞吐量(一般指字节)

吞吐量是一次性能测试过程中网络上传输的数据量的总和,也可以这样说在单次业务中,客户端与服务器端进行的数据交互总量

  • 对于交互式应用来说,吞吐量指标反映的是服务器承受的压力,他能够说明系统的负载能力

  • 一个系统吞吐量通常由QPS(TPS)、并发数两个因素决定,每套系统这两个值都有一个相对极限值,在应用场景访问压力下,只要某一项达到系统最高值,系统的吞吐量就上不去了,如果压力继续增大,系统的吞吐量反而会下降,原因是系统超负荷工作,上下文切换、内存等等其它消耗导致系统性能下降。

吞吐率(一般指字节)

吞吐率作为一个重要的衡量指标,最主要应用在并行处理上,属于系统结构中最重要的一个变量,它的定义是:单位时间的吞吐量

  • 吞吐率在性能测试中指单位时间内在网络上传输的数据量。是衡量网络性能的主要指标。

  • 从网络角度看,吞吐率可以用:字节/秒来衡量

  • 从业务角度看,吞吐率可以用:请求数/秒、页面数/秒、人数/天或处理业务数/小时 等单位来衡量

  • 以不同方式表达的吞吐率可以说明不同层次的问题。

例如,以字节数/秒方式可以表示数要受网络基础设施、服务器架构、应用服务器制约等方面的瓶颈;已请求数/秒的方式表示主要是受应用服务器和应用代码的制约体现出的瓶颈。

  • (请求数)当没有遇到性能瓶颈的时候,吞吐量与虚拟用户数之间存在一定的联系,可以采用以下公式计算:F=Vu * R /T

    其中F:吞吐率,Vu:虚拟用户个数,R:每个虚拟用户发出的请求数,T:性能测试所用的时间

性能计数器

是描述服务器或操作系统性能的一些数据指标,如使用内存数、进程时间,在性能测试中发挥着“监控和分析”的作用,尤其是在分析统统可扩展性、进行性能瓶颈定位时有着非常关键的作用。

  • 资源利用率:指系统各种资源的使用情况,如cpu占用率为68%,内存占用率为55%,一般使用“资源实际使用/总的资源可用量”形成资源利用率。

02 几个非主要术语

集合点

  • 插入集合点是为了衡量加重负载情况下的性能情况

  • 在计划中,可能会要求系统承受1000人同时提交数据,在提交数据操作前加入集合点,当虚拟用户运行到提交数据的集合点时,会自动检查同时有多少用户运行到集合点,当达到指定用户数时,将命令指定用户数同时提交数据,从而达到同时提交的要求

  • 集合点是相对的,因为没有绝对的并发,集合点只是尽可能的在同一时间发送请求,但是服务器是没办法在同一秒接受并处理请求的

迭代

迭代是重复执行过程,性能测试中就是一个事务流程重复执行的过程。通过调整每次迭代的时间,就能控制整个事务流程完成的时间,进而控制TPS的大小

步调

步调是指两次迭代之间的间隔时间,可以通过设置步调来调整各个Action之间的执行等待时间。从定义上看,步调和迭代是绑定在一起的,可以认为是Iteraction Pacing

每秒连接数

每秒连接数实现Web应用程序在运行过程中每秒建立的HTTP连接数。理想情况下,很多HTTP请求都应该使用同一个连接也就是长连接,而不是每个请求都新打开一个连接。如果程序中不断的打开长连接或者频繁的创建达到上千个短连接,那么应用服务器的响应会越来越慢。通过每秒连接数可以看出服务器的处理情况。

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/15 6:24:37

收藏!普通人也能入局AI的黄金岗位:大模型训练师入门指南

近日,有网友爆料前vivo产品经理宋xx离职后的职业轨迹引发行业关注——从vivo离开后,他曾短暂加入理想汽车,最终选择躬身入局AI硬件创业赛道。这一动态再次将大众目光聚焦到AI领域,也让不少想跨界AI的程序员、职场小白好奇&#xf…

作者头像 李华
网站建设 2026/5/16 18:13:47

突破单线程瓶颈:多进程并发服务器的设计与实现

在网络编程中,单线程服务器最致命的问题在于其“阻塞性”——当服务器正在与一个客户端通信时,其他所有连接请求都会被拒之门外。 为了实现真正的并发,我们需要引入多进程模型。本文将深入探讨如何利用 Linux 的进程创建机制,构建一个高性能的并发服务器。 一、 多进程并发…

作者头像 李华
网站建设 2026/5/19 6:45:23

基于Simulink的DFIG定子电压定向控制策略仿真

目录 手把手教你学Simulink 一、引言:为什么DFIG要采用“定子电压定向”? 二、理论基础:定子电压定向原理 1. 坐标系定义 2. DFIG 功率表达式(SVO 下) 3. 转子电压方程(用于电流环设计) …

作者头像 李华
网站建设 2026/5/19 6:56:23

工业AI平台怎么选?技术对比与落地指南

工业AI平台怎么选?技术对比与落地指南工业AI平台的选择标准选择工业AI平台,不能只看技术噱头,更要结合企业自身需求。比如,一家汽车制造企业关心焊接质量预测和设备维护,而一家电子厂更关注视觉检测和能耗优化。不同的…

作者头像 李华
网站建设 2026/5/18 11:57:02

扬声器内磁盖模具设计

第二章 冲压工艺分析与确定 2.1冲压件工艺性分析 此工件有落料、冲孔、拉深三个工序,材料为Q235-A 钢,具有良好的冲压性能,适合冲裁、拉深,工件结构简单,有6个φ4mm的孔,孔与孔、孔与边缘之间的…

作者头像 李华