1321 字
约 4 分钟
17
性能测试入门:从概念到压测工具

性能测试入门:从概念到压测工具

在项目开发过程中,代码能够正常运行只是第一步。随着用户量增加,系统是否还能保持稳定、快速响应,就需要通过性能测试来验证。

简单来说,性能测试就是模拟大量用户访问系统,观察系统在不同压力下的表现,提前发现性能瓶颈,保证系统上线后的稳定性。


一、性能测试关注哪些指标?

1. 并发用户(VU)

VU(Virtual User)指虚拟用户,也就是性能测试工具模拟出来的用户。

需要注意:

  • 注册用户 ≠ 在线用户 ≠ 并发用户
  • 注册用户只是数据库中的账号
  • 在线用户可能只是打开页面
  • 并发用户是真正向服务器发送请求,会产生压力

例如:

一个网站有 100 万注册用户,但高峰期同时操作的可能只有几万人,这几万人才是性能测试关注的对象。


2. QPS

QPS(Queries Per Second)表示每秒查询次数。

例如:

一个接口每秒能够处理 500 次请求,那么它的 QPS 就是 500。

常用于衡量接口处理能力。


3. TPS

TPS(Transaction Per Second)表示每秒完成的事务数量。

事务通常代表一个完整业务流程。

例如:

用户购买商品:

提交订单
↓
扣减库存
↓
支付
↓
生成订单

整个流程完成一次,可以算一个 TPS。


4. RT

RT(Response Time)表示响应时间。

也就是:

用户发送请求
        ↓
服务器处理
        ↓
返回结果

整个过程花费的时间。

RT 越低,说明系统响应越快。


二、TPS、QPS、RPS 的区别

指标 含义 关注点
TPS 每秒事务数 业务处理能力
QPS 每秒查询数 接口、数据库查询能力
RPS 每秒请求数 HTTP请求处理能力

举个例子:

用户下单一次:

创建订单接口
+
库存查询接口
+
支付接口

可能产生多个 HTTP 请求。

所以:

1 TPS ≠ 1 QPS

一个业务事务可能包含多个请求。


三、并发用户和 TPS 的关系

常见公式:

TPS = 并发用户数 / 响应时间

例如:

一个接口响应时间:

RT = 1秒

一个用户1秒只能完成:

1次请求

那么:

1000个用户 ≈ 1000 TPS

如果接口优化后:

RT = 10ms

一个用户1秒可以完成:

100次请求

那么少量用户也可以产生较高 TPS。

所以性能优化不仅是增加服务器,更重要的是降低响应时间。


四、常见性能测试工具

1. JMeter

Apache JMeter 是目前 Java 后端使用非常广泛的性能测试工具。

特点:

优点:

  • 支持接口压测
  • 支持多用户并发
  • 支持复杂业务流程
  • 支持分布式压测
  • 图形化操作简单

缺点:

  • 基于 Java,比较消耗资源
  • 超高并发场景下单机能力有限

适合:

企业接口性能测试、业务流程压测。


2. ApacheBench(ab)

ab 是 Apache 提供的简单 HTTP 压测工具。

特点:

优点:

  • 安装简单
  • 使用方便
  • 适合快速测试接口性能

缺点:

  • 功能比较简单
  • 不支持复杂业务流程
  • 没有可视化界面

适合:

简单接口压力测试。


3. wrk

wrk 是一个高性能 HTTP 压测工具。

特点:

优点:

  • 性能非常高
  • 单机可以模拟大量请求
  • 使用简单

缺点:

  • 只支持 HTTP
  • 不支持复杂场景
  • 没有流程控制

适合:

测试接口最大吞吐能力。


五、为什么需要性能测试?

性能测试可以帮助我们:

  • 找到系统瓶颈
  • 判断服务器承载能力
  • 优化代码和数据库
  • 提前发现线上风险

例如:

接口开发完成后,通过压测发现:

1000并发正常

5000并发出现响应变慢

10000并发服务崩溃

那么开发人员可以针对问题优化:

  • SQL 查询
  • 缓存设计
  • JVM 参数
  • 数据库连接池
  • 接口逻辑

总结

性能测试是后端开发中非常重要的一环。

核心指标:

VU:多少用户同时访问

QPS:每秒查询次数

TPS:每秒完成业务数量

RT:请求响应时间

常见工具:

JMeter:业务压测首选

ab:简单接口测试

wrk:高性能接口压测

通过性能测试,可以提前了解系统极限,让应用在真正上线后更加稳定可靠。

性能测试入门:从概念到压测工具
https://clxhxhhr.top/posts/2946/
作者
clxstart
发布于
2026-09-20
许可协议
CC BY-NC-SA 4.0
评论
0 条
还没有评论,先写一条吧。