阿杰 👍 你问的这些都是性能测试和系统性能指标里最常见的几个概念,我给你逐一解释清楚,并帮你对比它们的关系:
1. 吞吐量(TPS:Transactions Per Second)
- 定义:系统每秒能够处理的事务(Transaction)数量。
- 事务:一个用户请求可能会涉及多步操作(如登录 → 查询数据库 → 返回结果),这些组成一个“事务”。
- 意义:衡量系统整体处理能力,常用于银行、支付等业务场景。
- 例子:一个支付系统,每秒能完成 100 笔订单支付,则 TPS = 100。
2. QPS(Queries Per Second)
- 定义:系统每秒能处理的请求(Request/Query)数量。
- 区别:QPS 是对“请求”的统计,TPS 更强调“完整事务”。
- 关系:通常 QPS ≥ TPS,因为一个事务可能包含多个请求。
- 例子:电商系统中,用户打开商品页发起 5 个查询请求(商品详情、评论、推荐、库存、价格),这 5 个请求只算 1 次事务,但会产生 5 次 QPS。
3. 并发数(Concurrency)
- 定义:某一时刻同时存在的请求/事务数,即“同时在线的执行数”。
- 体现:是用户“同时操作”的规模。
- 关系:并发数越高,对系统的 TPS/QPS 和 RT 的压力就越大。
- 例子:有 1000 个用户同时在提交订单,此时并发数 = 1000。
4. 响应时间(RT:Response Time)
- 定义:从用户发出请求到系统返回结果所需的时间。
- 单位:毫秒(ms)或秒(s)。
- 意义:反映系统的性能体验,RT 越低用户体验越好。
- 例子:你在淘宝下单,从点击“支付”到页面显示“支付成功”用了 2 秒,这就是 RT=2s。
5. 四者关系总结
- QPS / TPS:吞吐能力指标(数量维度)。
- 并发数:压力大小指标(规模维度)。
- RT:用户体验指标(时间维度)。
- 联系公式(近似关系):
并发数≈QPS×RT
👉 举例:
- 某系统平均 RT = 0.5 秒
- 每秒请求数 QPS = 200
- 那么并发数 ≈ 200 × 0.5 = 100
说明系统平均有 100 个请求同时在处理。
发表回复