前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何去做接口容量预估

如何去做接口容量预估

原创
作者头像
郑超超
修改2020-11-25 11:04:32
2.1K0
修改2020-11-25 11:04:32
举报

容量预估指的是,在接口尚未上线之前,对接口进行一个前置性的评估,预测接口可能承受的压力,来做接口测试的标准,确保服务上线后能够承受线上流量的压力。所以这是非常重要且必不可少的步骤。

通过在项目中的积累,我们从“凭直觉”预估的方式,到最后精细化理论化容量预估方式,解决了容量预估的难题。

【容量预估的困难】

容量预估的主要困难在于,在上线前,由于服务尚未上线甚至尚未开始开发,是无法通过压测接口获得相关数据的;在上线后,也无法确保现在的容量是足够承载各种意外流量发生的。

【“凭直觉”的预估方案】

在压测最开始的时候,我们使用的是“凭直觉”式的解决方案。比如,接口响应时间如果超过了一秒,迟滞的感觉会比较明显;凭借之前的经验,错误率如果多于1%,往往是有接口性能或者逻辑上的问题;而QPS/TPS如果低于100,总是感觉还有优化的空间...

【精细化的预估方案】

上面的方案存在非常大的问题,首先这种根据感受的标准,不但缺乏专业度,而且没有说服力。不能作为项目的性能评估方案。

1、错误率

因此,我先把健康码的数据捞出来进行了一番的分析,发现跟之前的认知是不一样的。实际上在接口正常的时候,错误率普遍在0~0.1%之间。跟之前认为的1%实际上是差别较大的

2、响应时间

虽然通过上面的数据可以看出接口响应时间,在存在问题的时候是超过1秒的,但为了找到理论支撑,这里引入了Apdex指数的概念。Apdex指数有下面的概念:

"满意"的区间是 T,以默认2s为标准的话,也就是 0-2s,页面响应时间超过 2s 用户就有些不满了

"容忍"的区间是 T - 4T,即 2-8s 之间为容忍区间

"失望"的区间是 大于 4T,即多于 8 秒,这时用户已经跑了

3、QPS

QPS主要靠的是两点:第一运营数据,包括PV、DAU和最高在线人数等;第二则是在非集中式访问的接口当中使用八二原则,即80%的人会在20%的时间进行接口访问。通过上面两个原则和数据,就可以推算出接口预估的QPS值。

比如,一个非集中式访问的接口预测有100万的PV,其整个访问周期是3周。根据八二原则就可以得到以下的计算:(100万人*80%)/(3周时间*20%)= 3 QPS .

再比如,如果一个集中式访问的接口(如抢购接口)预测最高有15万用户同时在线,集中在1分钟里面进行访问。这时候,因为使用的是同时在线用户,这里不再适用八二原则,而是直接进行相除的计算。可以有下面的推算:15万人 / 1分钟 = 2500 QPS

4、总结

最终,关于精细化的接口预估方案,可以概括成下面这个图

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 【容量预估的困难】
  • 【“凭直觉”的预估方案】
  • 【精细化的预估方案】
    • 1、错误率
      • 2、响应时间
        • 3、QPS
          • 4、总结
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档