【架构】一篇吃透性能核心指标:QPS、TPS、PV、UV、DAU、MAU、并发、吞吐量
一篇吃透性能核心指标QPS、TPS、PV、UV、DAU、MAU、并发、吞吐量前言做后端开发、性能压测、容量规划、产品数据分析时经常会遇到一堆容易混淆的名词QPS、TPS、PV、UV、DAU、MAU、并发用户数、吞吐量。很多同学分不清吞吐量和QPS区别在哪TPS和QPS什么时候相等并发用户≠在线用户本文一次性梳理全部指标定义、计算公式、业务场景、相互关系附带流程图与实例看完彻底告别概念混淆面试、性能压测、容量预估直接能用。一、流量类指标产品前端视角流量指标更多用于业务统计、运营数据分析衡量用户访问规模。1. PVPage ViewPV页面浏览量用户每打开/刷新一次页面统计1次PV。✅ 特点可重复统计同一个用户多次打开页面会多次累加。例子用户打开首页→刷新首页→进入详情页一共产生3次PV。2. UVUnique VisitorUV独立访客一段时间内访问站点不重复用户数量。✅ 特点去重统计同一用户一天内多次访问只算1个UV。区分方式通常依据设备ID、Cookie、账号识别访客。⚠️重点区分 PV vs UVPV访问次数可重复UV访问人数去重计算公式平均访问深度 PV / UV3. DAUDaily Active UserDAU日活跃用户数统计自然日内完成有效行为的独立活跃用户。有效行为定义由业务制定登录、浏览页面、发起接口请求等。4. MAUMonthly Active UserMAU月活跃用户数一个自然月内的独立活跃用户。衍生指标月活留存、DAU/MAU衡量产品用户粘性。流量指标简易流转图打开APP/网页多次刷新页面当日产生有效行为持续一个月活跃潜在用户UV独立访客PV页面浏览量DAU日活MAU月活二、性能压测核心指标后端测试视角⚙️下面指标是服务性能、接口压测、容量评估核心指标面试高频考点。1. QPSQueries Per SecondQPS每秒查询率每秒服务器能够处理的接口请求数量。广义定义每秒收到并完成响应的HTTP/接口请求。适用场景Http接口、微服务、Web网关、数据库查询。示例服务QPS1000代表每秒最多平稳处理1000次接口请求。2. TPSTransactions Per SecondTPS每秒事务数每秒系统完成的事务数量。关键一个事务可以包含多次请求举个典型电商下单事务查询商品库存创建订单扣减库存创建支付单上面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 × 平均响应时间单位秒案例接口QPS500平均响应时间200ms(0.2s)并发数 500 × 0.2 100并发用户性能指标关系流程图持续发起请求公式关联并发用户数请求流量QPS 每秒请求数TPS 每秒事务数吞吐量 Throughput平均响应时间 RTA QPS × RT三、所有指标完整关联总览图把业务流量指标和性能指标打通完整链路服务/压测前端产品运营用户UV独立访客PV页面浏览DAU日活跃MAU月活跃HTTP接口请求并发用户数QPS每秒请求TPS每秒事务吞吐量四、实战场景举例加深理解假设一个电商网站今日UV20000总PV100000平均访问深度 PV / UV 5用户平均打开5个页面页面所有接口汇总高峰QPS2000下单接口一次下单调用4个接口高峰下单TPS300下单相关接口总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吞吐量不止代表请求数。后续做容量预估、接口压测、线上故障分析直接对照这套指标梳理不再混淆概念