好嘞阿杰 👍,这几个指标是面试和性能优化常问的,我给你整理一份清晰的说明。


吞吐量(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×(每个事务的请求数)