服务器性能指标:TPS、CPS、QPS 全解

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. 用户浏览商品页面,产生1次 QPS

  2. 用户下单、扣库存、生成订单记录,整套完整业务流程为1个 TPS,内部会包含多次 QPS 请求;

  3. 大量用户同时访问网站,服务端持续新建网络通道,体现为CPS

  4. 同一时间全站所有用户维持的存活联网通道总数,即为并发连接数

补充业务换算:单事务请求数 = QPS ÷ TPS,可用于评估单次完整业务的接口请求复杂度。

1. 核心指标一句话概括

  • CPS:服务器每秒能接入多少新用户连接(接入速率)

  • QPS:服务器每秒能处理多少单次访问/接口请求(请求吞吐)

  • TPS:服务器每秒能完成多少套完整业务操作(业务吞吐)

  • 并发连接数:服务器当前同时扛住多少存活连接(瞬时存量负载)

五、运维与压测总结、使用建议

  • 数据库、金融/电商交易系统:重点关注 TPS

  • Web 服务、负载均衡、游戏服务:同时关注 CPS + QPS + 并发连接数

  • 接口、数据查询类服务:以 QPS 为核心评估指标

相关推荐
one优雅的猫1 小时前
Linux 常用命令
linux·运维·服务器
李白的天不白1 小时前
服务器无法连接到 Docker Hub 的官方镜像仓库
运维·服务器·docker
皆圥忈1 小时前
Linux 进程控制(下):等待与程序替换
linux·运维·服务器
荒--1 小时前
SQLMAP工具的使用
linux·服务器
不会就选b1 小时前
Linux之基本操作(上)
linux·运维·服务器
AI品信智慧数智人1 小时前
实时赋能运维!数字人语音交互系统实现监控播报与智能预警[特殊字符]
运维
qq_429432301 小时前
工业防水电话解决方案:适用于港口、隧道、工厂与户外场景
运维·服务器·信息与通信·ip
ylscode1 小时前
Oracle 推出月度安全补丁新机制,首批紧急修复已覆盖 35 个高危漏洞
运维·网络·安全·安全威胁分析