好嘞阿杰 👍,这几个指标是面试和性能优化常问的,我给你整理一份清晰的说明。
吞吐量(TPS)、QPS、并发数、响应时间(RT)概念
1. 吞吐量(TPS,Transactions Per Second)
- 定义:系统每秒能够处理的 事务数。
- 一个事务可以是一次完整的业务操作(如电商下单、支付成功)。
- 公式:TPS=总事务数总时间(秒)
- 例子:
- 如果电商系统 1 秒内成功完成了 200 次下单操作,那么 TPS = 200。
2. QPS(Queries Per Second)
- 定义:系统每秒能处理的 请求数(更细粒度的指标)。
- QPS 常用于 Web 系统,表示每秒的查询或 HTTP 请求数。
- 公式:QPS=总请求数总时间(秒)
- 区别于 TPS:
- TPS 偏重于“业务事务”,一个事务可能包含多个请求;
- QPS 偏重于“单次请求”。
例子:
- 一个用户下单事务,可能涉及:
1 次下单请求 + 1 次支付请求 + 1 次库存更新请求 = 3 个请求。 - 如果 TPS = 100,而每个事务平均有 3 个请求,则 QPS ≈ 300。
3. 并发数(Concurrency)
- 定义:系统在某一时刻同时处理的 请求数 或 用户数。
- 并发数不是速率,而是一个 瞬时状态。
- 关系(近似):并发数=QPS×平均响应时间(RT)
例子:
- 系统 QPS = 1000,请求平均耗时 0.5 秒(RT=0.5s)。
- 那么并发数 ≈ 1000 × 0.5 = 500。
4. 响应时间(RT,Response Time)
- 定义:从客户端发送请求开始,到收到系统响应结果所需的时间。
- 包含:网络延迟 + 服务器处理时间 + IO(数据库/缓存/磁盘)等。
- 单位:毫秒(ms)或秒(s)。
例子:
- 用户请求一个页面,1 秒后页面完全加载完毕,则 RT = 1s。
5. 关系总结
- QPS:单位时间内的请求量,强调频率。
- TPS:单位时间内的业务事务数,强调业务维度。
- 并发数:某一时刻正在处理的请求数,强调瞬时压力。
- RT:单个请求的耗时,强调性能体验。
公式联系:并发数≈QPS×RTQPS≈TPS×(每个事务的请求数)
发表回复