系统吞吐量、QPS(TPS)、并发数等概念
- 概念
1.1. 系统吞吐量
1.2. QPS(TPS)
1.3. 并发数
1.4. 响应时间
1.5. 关系
1.6. 案例 - 系统吞吐量评估
- 真实场景
系统吞吐量
一个系统的吞度量(承压能力)与request对CPU的消耗、外部接口、IO等等紧密关联。单个reqeust 对CPU消耗越高,外部系统接口、IO影响速度越慢,系统吞吐能力越低,反之越高。系统吞吐量几个重要参数:QPS(TPS)、并发数、响应时间
QPS(TPS)
QPS(TPS):每秒钟request/事务 数量
并发数
并发数:系统同时处理的request/事务数
响应时间
响应时间:一般取平均响应时间
关系
QPS(TPS)=并发数/平均响应时间、并发数=QPS(TPS)*平均响应时间。
一个系统吞吐量通常由QPS(TPS)、并发数两个因素决定,在应用场景访问压力下,只要某一项达到系统最高值或超标,系统超负荷工作、上下文切换、内存等其他消耗导致系统性能下降,系统的吞吐量会下降反而会下降。
案例
假设我们压力测试出的QPS(TPS)为100,在并发数等要素不超标的情况下,系统的日吞吐量大致是:100*11*3600=396万(相当于按最高TPS访问11个小时)。
一个典型的上班签到系统,早上8点上班,7点半到8点的30分钟的时间里用户会登录签到系统进行签到。公司员工为1000人,平均每个员上登录签到系统的时长为5分钟。可以用下面的方法计算。QPS = 1000/(30*60)事务/秒、平均响应时间为 = 5*60秒、并发数= QPS*平均响应时间=1000/(30*60) *(5*60)=166.7。
系统吞吐量评估
指单位时间内系统处理用户的请求数,从业务角度看,吞吐量可以用:请求数/秒、页面数/秒、人数/天或处理业务数/小时等单位来衡量,从网络角度看,吞吐量可以用:字节/秒来衡量,对于交互式应用来说,吞吐量指标反映的是服务器承受的压力,他能够说明系统的负载能力
真实场景
公司77大促第一天商品中心接口访问情况:
方法名 | 主要场景 | 总调用次数 | 总耗时 | 平均耗时 | 最大耗时 | tps | 最大并发 | 错误数 |
---|
findItem | 商品详情搜索商品 | 45602271 | 40069163 | 0 | 300 | 3 | 12 | 0 |
preReducStock | tc下单预扣库存 | 179491 | 1713441 | 9 | 103 | 0 | 2 | 0 |