QPS 全称是 Queries Per Second,即每秒查询数,是衡量系统性能的一个常用指标,尤其用于 接口服务、数据库、搜索引擎、网关等高并发系统中。
QPS 表示系统在单位时间内能处理的请求数量:
QPS = 每秒钟处理的请求数量
一个 Web 接口平均每秒能处理 1000 个请求,那它的 QPS 就是 1000。
某电商秒杀活动,接口 QPS 峰值达到 50000,意味着系统每秒能处理 5 万个请求。
QPS 与其它指标的关系
|
指标 |
说明 |
|
QPS |
每秒请求数,体现系统并发能力 |
|
TPS(Transactions Per Second) |
每秒事务数,通常用于数据库/支付系统 |
|
RT(Response Time) |
请求平均响应时间 |
|
并发数 |
同一时刻同时处理的请求数 |
|
吞吐量 |
一段时间内系统总共处理的数据/请求数量 |
QPS 高 ≠ 性能好,还需要 RT 低、错误率低 才是系统健康的表现
如何计算 QPS
公式如下:
QPS = 总请求数 / 测试时长(秒)
举例:压测 10 分钟,接口收到总共 60 万个请求:
QPS = 600000 / (10 * 60) = 1000
如何监控 QPS
可以使用以下方式实时监控:
|
工具 |
说明 |
|
SkyWalking |
提供服务、端点级别 QPS 指标 |
|
Prometheus + Grafana |
拉取系统/应用的 QPS 指标,实时可视化 |
|
Nginx |
使用日志 + |
|
Spring Boot Actuator |
配合 Micrometer 暴露 QPS 指标 |
|
日志分析工具 |
如 ELK/EFK,通过 Nginx/网关日志统计请求量 |
如何提升 QPS
- 接口层优化
-
- 异步处理(CompletableFuture、WebFlux)
- 降低响应时间
- 服务层优化
-
- 使用缓存(Redis、本地缓存)
- 减少不必要的依赖调用
- 数据库优化
-
- 分库分表、读写分离
- 缓存热点数据
- 架构级优化
-
- 使用网关限流 + 熔断
- 多实例 + 负载均衡
- 引入消息队列异步削峰
- 部署优化
使用高性能服务器
容器化 + 自动扩容(K8s + HPA)
QPS 压力测试工具推荐
|
工具 |
特点 |
|
Apache JMeter |
GUI 工具,功能全面,支持断言 |
|
wrk |
命令行工具,压测能力强,适合 Linux 环境 |
|
Locust |
Python 写的压力测试框架,适合自定义测试逻辑 |
|
ab(Apache Bench) |
简单轻量,但功能较弱 |
QPS 表示系统每秒能处理多少个请求,是衡量服务并发性能的核心指标之一。QPS 高、RT 低、错误率低,才是高性能系统的关键特征。
802

被折叠的 条评论
为什么被折叠?



