news 2026/5/14 23:14:23

RPS(Requests Per Second)介绍(RPS只代表系统吞吐量Throughput,不代表延迟)并发数Concurrency并发量、QPS查询操作、CPU瓶颈、IO瓶颈、数据库瓶颈

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
RPS(Requests Per Second)介绍(RPS只代表系统吞吐量Throughput,不代表延迟)并发数Concurrency并发量、QPS查询操作、CPU瓶颈、IO瓶颈、数据库瓶颈

文章目录

  • 深入理解 RPS(Requests Per Second)
  • 一、什么是 RPS?
  • 二、RPS 的核心意义
  • 三、RPS 的简单理解
  • 四、RPS 如何计算?
  • 五、RPS 与并发的关系
    • 1. 并发数
    • 2. RPS
    • 3. 二者关系
    • 例子
  • 六、RPS 与 QPS 的区别
    • 1. RPS
    • 2. QPS
    • 3. 实际中经常混用
  • 七、RPS 不等于性能一定好
    • 举例
  • 八、常见性能指标关系
    • 1. Latency(延迟)
    • 2. Throughput(吞吐量)
    • 3. Error Rate(错误率)
    • 4. P99
  • 九、为什么系统会出现 RPS 瓶颈?
    • 1. CPU 瓶颈
    • 2. IO 瓶颈
    • 3. 数据库瓶颈
    • 4. 锁竞争
    • 5. 下游服务限制
  • 十、如何提升 RPS?
    • 1. 提升并发能力
    • 2. 减少请求耗时
    • 3. 增加实例数量
    • 4. 使用缓存
    • 5. 使用连接池
  • 十一、如何测试 RPS?
    • wrk 示例
  • 十二、Prometheus 中的 RPS
  • 十三、网关中的 RPS
  • 十四、真实互联网中的 RPS
  • 十五、总结

深入理解 RPS(Requests Per Second)

在高并发系统、API 网关、微服务、Web 服务、负载均衡等领域中,RPS(Requests Per Second)是最常见、最核心的性能指标之一。

无论是:

  • Nginx
  • Kubernetes Ingress
  • Kong / APISIX
  • Prometheus
  • 压测工具(wrk、hey、JMeter)
  • 云服务监控平台

你都会频繁看到:

当前 RPS:12,000
峰值 RPS:80k
系统最大承载 RPS:150k

那么:

  • RPS 到底是什么?
  • 如何计算?
  • 和 QPS(Queries Per Second 每秒查询率) 有什么区别?
  • 为什么高 RPS 不一定代表系统快?
  • 如何提升系统 RPS?

这篇文章带你系统理解。


一、什么是 RPS?

RPS 全称:

Requests Per Second

即:

每秒请求数

表示:

一个系统每秒能够处理多少个请求。

例如:

系统 1 秒处理了 5000 个 HTTP 请求

则:

RPS = 5000

二、RPS 的核心意义

RPS 本质上衡量的是:

系统吞吐量(Throughput)

也就是:

单位时间内处理工作的能力

它通常用于衡量:

  • Web 服务性能
  • API 服务能力
  • 网关吞吐量
  • 微服务容量
  • 数据库访问能力
  • CDN 承载能力

三、RPS 的简单理解

可以把服务器想象成一家餐厅。

  • 用户请求 = 顾客点单
  • 服务端处理 = 厨房做菜
  • 响应返回 = 上菜

如果:

1 秒钟完成 100 个订单

那么:

RPS = 100

RPS 越高:

  • 系统单位时间处理能力越强
  • 能承载更多用户

四、RPS 如何计算?

公式非常简单:

RPS = 总请求数 ÷ 总时间(秒)

例如:

10 秒处理了 50,000 个请求

则:

R P S = 50000 10 = 5000 RPS = \frac{50000}{10} = 5000RPS=1050000=5000

即:

RPS = 5000

五、RPS 与并发的关系

很多人容易混淆:

  • RPS
  • 并发数(Concurrency)

它们并不是同一个概念。


1. 并发数

表示:

同时有多少请求正在处理中

例如:

同时有 1000 个请求未完成

则:

并发数 = 1000

2. RPS

表示:

每秒完成多少请求

例如:

每秒完成 5000 个请求

则:

RPS = 5000

3. 二者关系

经典公式:

C o n c u r r e n c y = R P S × L a t e n c y Concurrency = RPS \times LatencyConcurrency=RPS×Latency

其中:

  • Concurrency = 并发数
  • RPS = 每秒请求数
  • Latency = 平均延迟(秒)

例子

假设:

  • RPS = 2000
  • 平均响应时间 = 100ms

即:

0.1 秒

则:

C o n c u r r e n c y = 2000 × 0.1 = 200 Concurrency = 2000 \times 0.1 = 200Concurrency=2000×0.1=200

说明:

系统同时大约有 200 个请求正在处理中

六、RPS 与 QPS 的区别

这是最常见的问题。


1. RPS

Requests Per Second:

每秒请求数

强调:

HTTP/API 请求

2. QPS

Queries Per Second:

每秒查询数

通常用于:

  • 数据库
  • Redis
  • Elasticsearch
  • 搜索引擎

强调:

查询操作

3. 实际中经常混用

很多互联网公司:

  • QPS
  • TPS
  • RPS

会混着说。

例如:

网关 QPS 10w

实际上可能就是:

RPS 10w

七、RPS 不等于性能一定好

这是一个非常关键的点。

很多系统:

RPS 很高

但:

用户体验很差

为什么?

因为:

RPS 只代表吞吐量,不代表延迟。


举例

系统 A:

  • RPS:10000
  • 延迟:5ms

系统 B:

  • RPS:10000
  • 延迟:2s

虽然:

RPS 一样

但:

用户体验天差地别

因此:

性能评估不能只看 RPS。

还要结合:

  • Latency(延迟)
  • P99
  • 错误率
  • CPU
  • 内存
  • IO

一起看。


八、常见性能指标关系


1. Latency(延迟)

表示:

单个请求耗时

例如:

50ms

2. Throughput(吞吐量)

表示:

单位时间处理量

RPS 就属于吞吐量指标。


3. Error Rate(错误率)

表示:

请求失败比例

例如:

5xx 比例

4. P99

表示:

99% 请求耗时低于某值

例如:

P99 = 300ms

说明:

99% 请求都在 300ms 内完成

九、为什么系统会出现 RPS 瓶颈?

系统无法继续提高 RPS,通常意味着:

某个资源达到瓶颈。

常见包括:


1. CPU 瓶颈

例如:

  • JSON 序列化
  • 加密解密
  • gzip
  • 正则匹配

CPU 打满后:

RPS 无法提升

2. IO 瓶颈

例如:

  • 磁盘 IO
  • 网络 IO
  • 数据库 IO

3. 数据库瓶颈

最常见。

例如:

SELECT*FROMordersWHEREuser_id=?

没有索引。

导致:

  • 查询慢
  • 连接池耗尽
  • RPS 下降

4. 锁竞争

例如:

  • synchronized
  • mutex
  • Redis 分布式锁

大量线程等待锁。


5. 下游服务限制

例如:

你的服务能 5w RPS

但:

下游服务只能 2k RPS

整个链路就被限制。


十、如何提升 RPS?


1. 提升并发能力

例如:

  • 协程
  • 异步 IO
  • Event Loop
  • Reactor 模型

典型:

  • Nginx
  • Netty
  • Node.js

2. 减少请求耗时

因为:

R P S ≈ C o n c u r r e n c y L a t e n c y RPS \approx \frac{Concurrency}{Latency}RPSLatencyConcurrency

Latency 越低:

RPS 越高

优化包括:

  • SQL 优化
  • 缓存
  • 减少远程调用
  • 批量处理

3. 增加实例数量

横向扩展:

1 台机器:1w RPS 10 台机器:10w RPS

典型:

  • Kubernetes HPA
  • Auto Scaling

4. 使用缓存

例如:

  • Redis
  • CDN
  • 本地缓存

减少数据库压力。


5. 使用连接池

例如:

  • 数据库连接池
  • HTTP KeepAlive
  • gRPC 长连接

减少连接建立成本。


十一、如何测试 RPS?

常见压测工具:

工具特点
wrk高性能 HTTP 压测
heyGo 编写,简单易用
JMeter功能强大
k6云原生压测
LocustPython 压测框架

wrk 示例

wrk-t8-c1000-d30shttp://localhost:8080

含义:

  • 8 个线程
  • 1000 并发连接
  • 压测 30 秒

输出:

Requests/sec: 35214.89

这就是:

RPS = 35214

十二、Prometheus 中的 RPS

Prometheus 常见写法:

rate(http_requests_total[1m])

含义:

最近 1 分钟内每秒请求增长速率

本质上:

RPS

十三、网关中的 RPS

API Gateway 非常关注 RPS。

例如:

  • Kong
  • APISIX
  • Envoy
  • Nginx

因为网关是:

流量入口

高 RPS 能力意味着:

  • 更高吞吐
  • 更强扩展性
  • 更低成本

十四、真实互联网中的 RPS

一些大规模系统的量级:

系统RPS
小型博客几十
企业后台几百 ~ 几千
电商活动几万
大型 API 网关十万级
CDN 边缘节点百万级

十五、总结

RPS 是系统性能领域最核心的指标之一。

它表示:

系统每秒能够处理多少请求。

核心公式:

R P S = R e q u e s t s T i m e RPS = \frac{Requests}{Time}RPS=TimeRequests

以及:

C o n c u r r e n c y = R P S × L a t e n c y Concurrency = RPS \times LatencyConcurrency=RPS×Latency

需要记住:

  • 高 RPS ≠ 低延迟

  • 高吞吐 ≠ 好体验

  • RPS 必须结合:

    • Latency
    • P99
    • Error Rate
    • CPU
    • IO
      一起分析

在现代云原生与微服务架构中:

RPS 已经成为衡量系统容量与架构能力的基础语言。

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

Chapter 10:Subagent 基础 - 自定义智能体概念

Chapter 10:Subagent 基础 - 自定义智能体概念 学习目标 理解 Subagent 与 Skills、Rules 的核心区别 掌握 Subagent 的设计理念和适用场景 了解 Subagent 的调度方式和协作模式 具备根据业务需求选择合适扩展机制的判断力 概念讲解(Why) 1.1 为什么需要 Subagent Skills…

作者头像 李华
网站建设 2026/5/14 23:12:21

产品经理必学!掌握大模型,抢占职场先机,GPT-3、BERT等技能助你升职加薪!

大模型如GPT-3、BERT等能为产品经理带来多方面优势,包括高效的用户需求分析、精准的市场趋势预测、高效的项目管理、智能的产品设计、准确的预测和分析以及快速学习和适应新技术。掌握大模型能帮助产品经理在竞争激烈的市场中保持领先地位,并推动产品成功…

作者头像 李华
网站建设 2026/5/14 23:08:01

STM32CubeMX串口中断接收,从‘收到就关’到‘持续监听’的配置避坑指南

STM32CubeMX串口中断接收:从单次触发到持续监听的高效实践 串口通信作为嵌入式开发中最基础也最常用的外设功能之一,其稳定性和效率直接影响着整个系统的性能表现。许多开发者在使用STM32CubeMX配置串口中断接收时,往往采用"接收一次就关…

作者头像 李华
网站建设 2026/5/14 23:07:03

Adafruit PyGamer开发板全解析:从硬件选型到游戏开发实战

1. 项目概述:从零开始玩转Adafruit PyGamer如果你对DIY游戏掌机、开源硬件或者用Python玩嵌入式开发感兴趣,那么Adafruit PyGamer绝对是一个会让你眼前一亮的“玩具”。它远不止是一块开发板,更像是一个为你准备好的、功能齐全的微型游戏机开…

作者头像 李华
网站建设 2026/5/14 23:07:02

【Oracle数据库指南】第39篇:Oracle数据库恢复技术详解

上一篇【第38篇】Oracle数据库备份策略与实现详解 下一篇【第40篇】Oracle高级备份恢复技术详解 摘要 Oracle的恢复技术体系分为两大类:**标准恢复(RMAN恢复)**用于介质故障、数据文件损坏等物理级别的恢复;Flashback技术用于逻辑…

作者头像 李华