TPS、CPS、QPS 是服务器三大核心性能指标,分别对应每秒事务数、每秒新建连接数、每秒查询请求数,下面为你详细说明含义、计算公式、应用场景、区别及实战解读。
一、各指标详细说明
(一)TPS(Transactions Per Second)每秒事务数
-
定义:服务器每秒处理的完整业务事务数,一个事务代表一套闭环业务操作,例如在线支付、订单提交等。
-
应用场景:数据库(MySQL、PostgreSQL)、金融交易系统、支付平台、电商订单系统。
-
计算方式 :TPS = 总事务数 ÷ 总耗时(秒),仅统计完整执行成功、无回滚的闭环事务。例:1秒完成100笔订单事务,TPS=100。
(二)CPS(Connections Per Second)每秒新建连接数
-
定义:服务器每秒建立的新网络连接数量。新建连接速率超出阈值时,新连接请求会被直接丢弃,仅统计全新TCP连接,长连接复用不计入。
-
应用场景:Nginx/Apache等Web服务器、负载均衡器、游戏服务器。
-
计算方式 :CPS = 总新建连接数 ÷ 总耗时(秒)。例:1秒新建50个客户端连接,CPS=50。
(三)QPS(Queries Per Second)每秒查询/请求数
-
定义:服务器每秒响应的独立请求、接口调用或数据查询,单条请求不等同于完整业务流程,是衡量服务吞吐的核心指标。
-
应用场景:Web站点、API网关、数据检索、各类查询类服务。
-
计算方式 :QPS = 总请求数 ÷ 总耗时(秒) ,仅统计成功响应的有效请求。 衍生公式(并发压测专用):QPS = 并发用户数 ÷ 平均响应时间(RT)。例:1秒处理200次接口请求,QPS=200。
(四)并发连接数(Current Connections)
-
定义:服务器**当前时刻同时保持存活的TCP连接总数**,是静态存量指标。代表同一时间正在和服务器建立、传输数据或空闲复用的连接总量,不随秒级刷新变化。
-
应用场景:Nginx、负载均衡、长连接服务、游戏服务、IM即时通讯服务,用于评估服务器连接池上限、内存承载瓶颈。
-
计算/查看方式 :实时统计当前存活连接总数,无时间除法。 核心换算公式:并发连接数 = QPS × 平均连接存活时间(秒) 例:服务QPS=200,每个连接平均存活5秒,稳定并发连接数≈1000。
-
核心特点:属于**存量指标**;CPS/QPS/TPS属于**流量速率指标**。
二、四大指标核心区别
1. 核心定义区分
-
TPS:统计完整业务事务数量(速率指标)
-
CPS:统计新建网络连接数量(速率指标)
-
QPS:统计单次独立请求/查询数量(速率指标)
-
并发连接数:统计当前存活连接总量(存量指标)
2. 适用场景区分
-
TPS:侧重复杂业务流程,多用于数据库、交易、订单系统
-
CPS:侧重客户端接入速率,多用于Web服务、负载均衡、游戏服务
-
QPS:侧重高频单次请求,多用于网站、接口、数据查询服务
-
并发连接数:侧重服务器连接承载上限,多用于长连接服务、网关、IM、游戏服务
3. 统计逻辑区分
-
TPS:按完整事务统计,失败、回滚事务不计入(每秒速率)
-
CPS:按新建连接统计,连接复用不计入(每秒速率)
-
QPS:按单次有效请求统计,超时、失败请求不计入(每秒速率)
-
并发连接数:统计瞬时存活连接,是存量数值,非每秒速率
4. 对比表格
| 指标 | 统计对象 | 核心关注点 | 典型使用场景 |
|---|---|---|---|
| QPS | 单次请求/查询 | 接口、页面、查询处理能力 | Web网站、API网关、查询服务 |
| TPS | 完整业务事务 | 复杂业务、数据库事务处理能力 | 数据库、电商订单、金融支付系统 |
| CPS | 新建网络连接 | 高并发接入、建连承载速率 | Nginx、负载均衡、游戏服务器 |
| 并发连接数 | 瞬时存活TCP连接 | 服务器连接上限、内存承载能力 | 长连接服务、IM、游戏、网关服务 |
三、各指标详细计算方法(含公式、示例、业务换算)
以下为 QPS、TPS、CPS 标准计算公式、实战示例、业务换算逻辑,同时适配压测、运维日常统计场景。
(一)QPS(每秒查询/请求数)计算
1. 基础公式
QPS = 总请求数 ÷ 总耗时(秒)
2. 计算示例
场景:接口服务 10 秒内共处理 2000 次有效请求
QPS = 2000 ÷ 10 = 200,该服务 QPS 为 200。
3. 延伸公式(并发压测专用)
适用已知并发用户数、平均响应时间的压测场景:
QPS = 并发用户数 ÷ 平均响应时间(RT/秒)
示例:50 个并发用户,单次请求平均响应时间 0.25 秒
QPS = 50 ÷ 0.25 = 200
(二)TPS(每秒事务数)计算
1. 基础公式
TPS = 总事务数 ÷ 总耗时(秒)
说明:一个事务 = 一套完整闭环业务流程(如下单、支付、数据库事务),1个事务通常包含多次请求,与单次QPS请求不等同。
2. 计算示例
场景:电商系统 30 秒内完成 600 笔完整成功订单事务
TPS = 600 ÷ 30 = 20,该系统 TPS 为 20。
3. 业务换算关系(核心实战规则)
绝大多数业务场景中,1个完整事务会触发多次接口请求,可通过QPS、TPS推算业务复杂度:
单事务请求数 = QPS ÷ TPS
示例:上述场景 QPS=200、TPS=20
单订单事务请求数 = 200 ÷ 20 = 10,即单笔订单业务对应10次接口请求。
(三)CPS(每秒新建连接数)计算
1. 基础公式
CPS = 总新建连接数 ÷ 总耗时(秒)
说明:仅统计全新建立的TCP连接,长连接复用、历史存活连接不重复计算。
2. 计算示例
场景:Nginx 服务器 20 秒内累计新建 1000 个客户端连接
CPS = 1000 ÷ 20 = 50,该服务器 CPS 为 50。
(四)通用统计口径 & 运维压测适用场景
1. 统计口径注意事项
-
QPS:仅统计有效完成、成功响应的请求,失败、超时、被拦截请求不计入统计;
-
TPS:仅统计完整执行成功、无回滚的闭环事务,中途失败、取消、回滚的业务事务不统计;
-
CPS:只统计新建TCP连接,长连接复用场景下,CPS数值通常远低于整体并发连接数。
2. 压测与运维场景选用规则
-
压测接口服务、网页访问、查询接口 → 优先统计 QPS
-
压测订单、支付、数据库交易等完整业务 → 优先统计 TPS
-
压测高并发接入、新用户批量上线、网关建连能力 → 优先统计 CPS
四、通俗场景举例
-
用户浏览商品页面,产生1次 QPS;
-
用户下单、扣库存、生成订单记录,整套完整业务流程为1个 TPS,内部会包含多次 QPS 请求;
-
大量用户同时访问网站,服务端持续新建网络通道,体现为CPS;
-
同一时间全站所有用户维持的存活联网通道总数,即为并发连接数。
补充业务换算:单事务请求数 = QPS ÷ TPS,可用于评估单次完整业务的接口请求复杂度。
1. 核心指标一句话概括
-
CPS:服务器每秒能接入多少新用户连接(接入速率)
-
QPS:服务器每秒能处理多少单次访问/接口请求(请求吞吐)
-
TPS:服务器每秒能完成多少套完整业务操作(业务吞吐)
-
并发连接数:服务器当前同时扛住多少存活连接(瞬时存量负载)
五、运维与压测总结、使用建议
-
数据库、金融/电商交易系统:重点关注 TPS
-
Web 服务、负载均衡、游戏服务:同时关注 CPS + QPS + 并发连接数
-
接口、数据查询类服务:以 QPS 为核心评估指标