QPS 每秒查询数
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 低、错误率低,才是高性能系统的关键特征。