稳定性保障中的容量规划

稳定性保障的一个难点是我们要面对一个非常复杂的因素,那就是业务模型,或者叫用户访问模型。因为它的不确定性,会衍生出很多不同的业务场景,而不同的场景,就会导致我们的应对策略有所不同。所以,容量规划,就是对复杂业务场景的分析,通过一定的技术手段(如压力测试),来达到对资源合理扩容、有效规划的过程。

比如电商的进行评估的路径分析示例,用户首先从首页、大促会场或者微信里的分享页面转化过来,然后通过搜索、店铺、详情页以及购物车进行最后的转化,形成订购下单和最终的支付。

具体数值的评估上,跟产品运营团队共同讨论,整体的业务目标由运营团队给出,比如 GMV 目标收入,UV、PV、转化率、客单价以及商品单价,这些都是业务目标。通过这些业务数据,我们根据上图的路径逐步分解,就会逐步得出每一层的流量数据。

假设大促会场会有 500 万 UV,根据 GMV 和客单价,如果要完成目标,推导出到详情页的转化率需要达到 60%(产品运营需要努力达成这个业务目标),那详情页的 UV 就是 300 万;根据用户访问行为分析,对详情页的各个应用产生的 QPS 再做一个评估,这样单个应用的容量值就有了,然后再进一步向下转化,能够形成订购,形成加购物车的又有多少,再进行评估,最后就可以得出一个交易下单的峰值以及支付的峰值。

计算出峰值后,还要与历年评估的峰值数据,以及实际的峰值数据进行对比,根据对比情况进行调整。评估出来的这个峰值,就是系统要承诺支撑的容量,因为只有达到这个容量值,才能支撑业务完成对应的业务目标。

总结来说,这就是一个根据业务 GMV、UV 等目标,对技术上的交易下单峰值这个核心指标进行推导的过程。

如何构造压测的数据模型呢?这是一个比较复杂的问题,因为我们靠拍脑袋或者靠猜,是无法准确评估的。通常情况下,从以下两方面入手。

一方面,数据模型要接近真实场景。这就需要我们不断地积累经验,记录早期大促的详细数据和真实场景(比如不同用户购物车里的商品数量、优惠策略、不同渠道比例等,以及各种运营活动的玩法),这样可以最大程度地模拟真实的用户访问模型。

另一方面,数据量要接近真实场景。数据量有很多维度,比如用户数量、商品数量、店铺数量、优惠券数量等等。这里一般会通过数据工厂这样的工具平台,结合运营团队给出的数据量评估,快速制造出对应量级的数据。另一种方式就是从线上将真实数据,进行敏感信息脱敏处理后,导出到另一张影子表中,专门提供给压测使用,这样做的好处是不会污染线上运行数据。

此文章为4月Day6 学习笔记,内容来源于极客时间《赵成的运维体系管理课》,推荐该课程。

猜你喜欢

转载自blog.csdn.net/key_3_feng/article/details/130000377