一篇吃透性能核心指标:QPS、TPS、PV、UV、DAU、MAU、并发、吞吐量
前言💡
做后端开发、性能压测、容量规划、产品数据分析时,经常会遇到一堆容易混淆的名词:QPS、TPS、PV、UV、DAU、MAU、并发用户数、吞吐量。
很多同学分不清:吞吐量和QPS区别在哪?TPS和QPS什么时候相等?并发用户≠在线用户?
本文一次性梳理全部指标定义、计算公式、业务场景、相互关系,附带流程图与实例,看完彻底告别概念混淆,面试、性能压测、容量预估直接能用。
一、流量类指标(产品&前端视角)📊
流量指标更多用于业务统计、运营数据分析,衡量用户访问规模。
1. PV(Page View)PV
页面浏览量
用户每打开/刷新一次页面,统计1次PV。
✅ 特点:可重复统计,同一个用户多次打开页面会多次累加。
🌰例子:用户打开首页→刷新首页→进入详情页,一共产生3次PV。
2. UV(Unique Visitor)UV
独立访客
一段时间内,访问站点不重复用户数量。
✅ 特点:去重统计,同一用户一天内多次访问只算1个UV。
区分方式:通常依据设备ID、Cookie、账号识别访客。
⚠️重点区分 PV vs UV
PV:访问次数(可重复)UV:访问人数(去重)
计算公式:平均访问深度 =PV / UV
3. DAU(Daily Active User)DAU
日活跃用户数
统计自然日内完成有效行为的独立活跃用户。
有效行为定义由业务制定:登录、浏览页面、发起接口请求等。
4. MAU(Monthly Active User)MAU
月活跃用户数
一个自然月内的独立活跃用户。
衍生指标:月活留存、DAU/MAU,衡量产品用户粘性。
流量指标简易流转图
二、性能压测核心指标(后端&测试视角)⚙️
下面指标是服务性能、接口压测、容量评估核心指标,面试高频考点。
1. QPS(Queries Per Second)QPS
每秒查询率
每秒服务器能够处理的接口请求数量。
广义定义:每秒收到并完成响应的HTTP/接口请求。
适用场景:Http接口、微服务、Web网关、数据库查询。
🌰示例:服务QPS=1000,代表每秒最多平稳处理1000次接口请求。
2. TPS(Transactions Per Second)TPS
每秒事务数
每秒系统完成的事务数量。
💡关键:一个事务可以包含多次请求!
举个典型电商下单事务:
- 查询商品库存
- 创建订单
- 扣减库存
- 创建支付单
上面4次接口请求 =1笔事务
此时:4次请求 ≈ 1个TPS
✅ 核心区别QPSvsTPS
- 单纯查询接口(单次请求):
QPS = TPS - 下单、转账等复杂业务:QPS > TPS
记忆口诀:
请求看QPS,完整业务事务看TPS。
3. 吞吐量(Throughput)吞吐量
单位时间内系统成功处理的数据总量/任务总量。
两种表达方式:
- 请求维度:和QPS表现形式一致(req/s)
- 流量维度:MB/s、KB/s(文件上传、下载、数据流场景)
📌 重要误区:
很多人直接把吞吐量等同于QPS,不完全准确!
QPS:只统计请求个数吞吐量:可以统计数据流量大小
当业务存在大文件上传下载时,吞吐量(流量指标)更有参考价值。
4. 并发用户数(Concurrent User)并发用户数
同一时刻,同时向服务器发起请求的活跃用户。
❌ 高频误区:
并发用户数 ≠ 在线用户数!
在线用户大部分时间只是浏览页面(思考时间),不会发请求。
经典压测公式(性能通用):
并发用户数 = QPS × 平均响应时间(单位:秒)🌰案例:
接口QPS=500,平均响应时间200ms(0.2s)
并发数 = 500 × 0.2 =100并发用户
性能指标关系流程图
三、所有指标完整关联总览图📈
把业务流量指标和性能指标打通,完整链路:
四、实战场景举例🌍(加深理解)
假设一个电商网站:
- 今日
UV=20000,总PV=100000
平均访问深度 = PV / UV = 5(用户平均打开5个页面) - 页面所有接口汇总,高峰
QPS=2000 - 下单接口:一次下单调用4个接口,高峰下单
TPS=300
下单相关接口总QPS≈1200 - 下单接口平均响应时间250ms
下单接口并发用户数 = 2000 × 0.25 = 500
五、高频面试问题总结📝
QPS和TPS有什么区别?
答:QPS衡量每秒请求数量;TPS衡量完整业务事务。单一查询接口两者相等;复杂事务一个TPS包含多次QPS。并发用户数等于在线用户吗?
答:不等于。在线用户存在思考时间,大部分时刻不产生请求;并发用户是同一时刻正在发送请求的用户。吞吐量与QPS区别?
答:QPS侧重请求次数;吞吐量可以代表数据流量(MB/s),适合传输类业务。DAU和UV的差异?
答:UV统计任意时间段独立访客;DAU特指单日产生有效行为的活跃用户。
六、压测常用观测命令参考
# 简单示例:使用wrk进行压测,观测QPS、延迟wrk-t4-c100-d60shttp://127.0.0.1:8080/api/demo# 查看服务器网络吞吐量sar-nDEV1# 监控端口连接并发数netstat-an|grepESTABLISHED|wc-l总结✨
- 业务运营维度:
PV、UV、DAU、MAU,用来评估用户规模、活跃度; - 服务性能维度:
QPS、TPS、并发用户数、吞吐量,用于性能压测、容量规划、集群扩容评估; - 牢记核心公式:并发用户数 = QPS × 平均响应时间(RT);
- 区分核心易错点:并发≠在线用户,
QPS≠TPS,吞吐量不止代表请求数。
后续做容量预估、接口压测、线上故障分析,直接对照这套指标梳理,不再混淆概念!