吞吐量评估方法

 

一.系统吞度量要素:

   一个系统的吞度量(承压能力)与 requestCPU 的消耗、外部接口、 IO 等等紧密关联。

单个 reqeust CPU 消耗越高,外部系统接口、 IO 影响速度越慢,系统吞吐能力越低,反之越高。

 

系统吞吐量几个重要参数: QPS / TPS 、并发数、响应时间

         QPS /TPS      每秒钟 request/ 事务 数量

         并发数:          系统同时处理的 request/ 事务数

         响应时间:       一般取平均响应时间

(很多人经常会把并发数和 TPS 理解混淆)

 

理解了上面三个要素的意义之后,就能推算出它们之间的关系:

QPSTPS= 并发数 / 平均响应时间

 

         一个系统吞吐量通常由 QPSTPS )、并发数两个因素决定,每套系统这两个值都有一个相对极限值,在应用场景访问压力下,只要某一项达到系统最高值,系统的吞吐量就上不去了,如果压力继续增大,系统的吞吐量反而会下降,原因是系统超负荷工作,上下文切换、内存等等其它消耗导致系统性能下降。

 

 

决定系统响应时间要素

我们做项目要排计划,可以多人同时并发做多项任务,也可以一个人或者多个人串行工作,始终会有一条关键路径,这条路径就是项目的工期。

系统一次调用的响应时间跟项目计划一样,也有一条关键路径,这个关键路径是就是系统影响时间;

关键路径是有 CPU 运算、 IO 、外部系统响应等等组成。

 

二.系统吞吐量评估:

我们在做系统设计的时候就需要考虑 CPU 运算、 IO 、外部系统响应因素造成的影响以及对系统性能的初步预估。

而通常境况下,我们面对需求,我们评估出来的出来 QPS 、并发数之外,还有另外一个维度:日 PV

通过观察系统的访问日志发现,在用户量很大的情况下,各个时间周期内的同一时间段的访问流量几乎一样。比如工作日的每天早上。只要能拿到日流量图和 QPS 我们就可以推算日流量。

通常的技术方法:

         1. 找出系统的最高 TPS 和日 PV ,这两个要素有相对比较稳定的关系(除了放假、季节性因素影响之外)

         2. 通过压力测试或者经验预估,得出最高 TPS ,然后跟进 1 的关系,计算出系统最高的日吞吐量

 

B2B 中文和淘宝面对的客户群不一样,这两个客户群的网络行为不应用,他们之间的 TPSPV 关系比例也不一样。

A)       淘宝

 

  淘宝流量图:


 

淘宝的 TPSPV 之间的关系通常为   最高 TPSPV 介于 1 : 11*3600 (相当于按最高 TPS 访问 11 个小时,这个是商品详情的场景,不同的应用场景会有一些不同)

注:实际峰值摸高 (毛刺、瞬间)应该是顶峰平均值的 1.2倍左右。

 

B) B2B 中文站

B2BTPSPV 之间的关系不同的系统不同的应用场景比例变化比较大,粗略估计在 1 : 8 个小时左右的关系。旺铺和 offerdetail 这两个比例相差很大,可能是因为爬虫暂的比例较高的原因导致。

 

在淘宝环境下,假设我们压力测试出的 TPS100 ,那么这个系统的日吞吐量 =100*11*3600=396

这个是在简单(单一 url )的情况下,有些页面,一个也没有多次请求,系统的实际吞吐量还要小。

 

 

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值