关于版本发布:vivo版本发布平台带宽智能调控优化实践平台产品系列03
vivo 互联网平台产品研发团队 - Peng Zhong随着散发规模地逐渐增长,各企业对CDN带宽的应用越来越多。并且,各类业务应用CDN的场景各式各样,导致带宽会一直地呈现骤增骤降等问题。基于老本思考,国内CDN厂商的计费模式次要用峰值点的带宽来计费,就算不必峰值点的带宽,也会因为峰值问题所产生的老本而贬低带宽单价。基于此,管制CDN带宽的峰谷具备重要意义,升高峰值就意味着老本节俭。 一、背景随同着互联网地衰亡,很多企业都经验过互联网横蛮成长的一段岁月。然而,在互联网市场逐渐成熟稳固之后,各大企业在业务上的增长速度逐步放缓,也纷纷开始“对内开掘老本方面”的产出,对老本做更加精细化的管控,晋升企业的竞争力。 特地是随着“互联网寒冬”的降临,“冷气”传导到各行各业,“降本增效”的概念也纷纷被从新提起。有拉闸限电的,扣老本扣细节;也有大规模裁员一刀切的,淘汰局部业务,压缩人力;还有些团队间接组建横向团队,通过顶层思维,在不影响团队运作的状况下,专攻外围老本技术难题,保障降本成果。 本文,基于作者在CDN带宽利用率优化方面的实际,跟大家分享一下咱们的降本思路和实操办法。“降本增效”作为继续的翻新方向,并不局限于某个部门,企业价值链的任何一个环节都可能会成为突破点。作为技术开发人员,咱们则更多的须要“从各自负责的业务方向登程”,对公司老本有触点的业务进行剖析和开掘,针对性的从技术的角度登程,技术攻关,深刻摸索,降本增效,为公司带来实在价值。 通过本文,你能够: 1)关上思路,为“降本增效”提供可能的思考方向,助力大家开掘轻量化然而价值大的指标。 2)一览无遗,理解咱们CDN带宽利用率优化的外围办法。 名词解释: 【CDN】内容散发网络。本文的CDN专指动态CDN,动静CDN次要是对路由节点的减速,带宽老本规模绝对小的多。艰深的解释:CDN厂商在各地部署了很多节点,缓存你的资源,当用户下载时,CDN网络帮用户找到最近的一个节点,通过这个节点用户下载速度大大晋升。 【CDN带宽利用率】带宽利用率=实在带宽/计费带宽,能够了解为投入产出比一样性质的货色。为何要晋升利用率?打个比方:你不会违心花一亿够买价值一千万的货色,如果你的利用率只有10%的话,你其实就做了这样一件不合逻辑的事。 【愚公平台】通过带宽预测和削峰填谷,大幅度晋升企业总的CDN带宽利用率的平台。二、“寻寻觅觅”找降本作为CDN的应用小户,在CDN带宽老本指数级增长的状况下,笔者有幸见证并参加了我司CDN降本的每一个环节,从最后基于各自业务CDN带宽利用率的优化到起初基于可控带宽调控的思路。本章,咱们来聊聊咱们CDN降本的几个重要阶段,并跟大家分享一下,为什么我会抉择CDN带宽利用率这一个方向去钻研? 2.1 CDN带宽计费模式首先,不得不讲下咱们的计费模式,峰值平均值计费:每天取最高值,每月取每日最高值的平均值作为计费带宽。 月度计费=Avg(每日峰值)该计费模式意味着:每日峰值越低,老本越低。带宽的利用率决定了老本。由此,咱们从未放弃过对带宽利用率的谋求,上面看看咱们都有哪些优化带宽利用率的经验吧。 2.2 CDN降本三部曲咱们CDN降本优化次要分为三个阶段。三阶段各有妙用,在过后的环境下,都有相当不错的战果。并且均是基于过后的状况,摸索进去的绝对正当的优化方向。 2.1.1 局部优化局部优化是基于我司的次要CDN应用状况而产生的一种思路。作为手机生产制造厂商,咱们的动态CDN应用场景的外围业务是利用散发类,如:利用商店app散发,游戏核心app散发,版本自降级散发。演绎一下,外围六大业务占据了我司带宽的90%以上,只有把这六大业务的带宽利用率晋升下来,咱们的带宽利用率就能够失去显著的晋升。 基于这样一个状况,CDN运维工常常找到外围业务,给一个带宽利用率的指标,让各业务把带宽利用率晋升下来。演绎一下,外围思路就是:找到外围CDN应用业务方、别离给他们定好各自的利用率指标、提需要工作、讲清楚优化的价值。在这一阶段优化之后,咱们外围业务的带宽突发场景失去收口,整体带宽利用率显著失去晋升。 2.1.2 全局优化因为局部优化是各自业务优化,在大量突刺问题解决之后,各业务的带宽利用率优化会进入一个瓶颈区。其中,成果比拟好的,单业务带宽利用率也很难冲破60%,除非是非凡的业务模式,带宽齐全受控这种状况。此时,咱们业务把局部带宽抽离进去,用以调控公司整体带宽,进一步晋升公司整体带宽利用率,咱们把他定义为全局优化阶段。 基于这样一个全局优化的思路,各个业务只有没有太大的突刺,总体带宽利用率就会失去一个较大幅度的晋升。首先,咱们把带宽进行划分,抽取局部能够受服务器管制的带宽拆分为可控带宽,次要是工信部许可的wlan下载局部带宽;而后,咱们观测带宽走势,依据带宽历史走势,拆散出各个时段的带宽数据,针对不同时段管制不同的带宽量级放量,最终达到一个“削峰填谷”的目标。此策略是通过阈值管制放量速度的,每小时设置一个阈值,以每小时阈值生成每秒的令牌数,进行令牌桶控量。 2.1.3 自动化管制全局优化之后,作为技术开发人员,更进一步的办法就是利用程序取代人工,往更精细化管制方向控量。 基于这样一个思路,笔者开始摸索机器学习方面的预测技术,设想着有法则、有特色,就有肯定的预测的可能性。跟股票不同,尽管CDN带宽的影响因素也有很多,然而影响最大的几个因素却是不言而喻的。所以咱们剖析这些因素,先归因,后提取特色和特色合成,预测阈值,预测各点的带宽值。最终攻克了这一预测难题,实现了通过预测技术来调节CDN带宽峰谷问题。 2.3 降本思路的由来说到降本增效,作为技术开发,首先想到的就是利用技术取代人工,利用程序晋升大家的工作效率。比方:自动化测试、自动化点检、自动化监测归类告警等等,不论哪个团队都不少见。甚至自动化代码生成器,晋升大家的编码效率,都曾经孵化了大量平台。 上面,剖析一下咱们降本增效的次要思路。 笔者次要负责的技术模块偏利用散发,波及的老本方向有:CDN带宽老本、存储老本、主机老本。绝对于CDN的微小老本,存储老本和主机老本局部,大量业务的体量微不足道。至此,咱们最合适的方向是往CDN老本方向冲破。 CDN老本方向有两个细分方向:升高带宽体量、晋升带宽利用率。 小结: 升高带宽体量复杂度高,基于当前情况,如果可能主动预测带宽,并且做到自动化管制,能够大幅度晋升带宽利用率,达成不言而喻的降本成果。并且企业CDN费用越高,降本收益显著。 三、“踏踏实实”搞预测确定指标之后,该专题最后是放在“集体OKR指标里”里迟缓推动的。本章,笔者跟大家聊聊咱们最次要“预测方向”的摸索思路。 3.1 带宽预测摸索咱们的探索期次要分两个阶段。后期次要是围绕:察看→ 剖析 → 建模 发展,相似于特征分析阶段;前期次要是进行算法模仿→算法验证,抉择成果绝对称心的算法,持续深入分析摸索,深挖价值,钻研算法最终冲破可用的可能性。 3.1.1 察看法则如图是我司三大我的项目往年7月1日~7月31日 的带宽走势图(数据已脱敏): 能够察看出一些比拟显著的规律性: 3.1.2 成因剖析咱们的带宽会走出如此趋势,跟它的影响因素无关,上面列出了“不言而喻的”一些影响因素。 3.1.3 模型拆分理解带宽成因之后,咱们次要的钻研方向为:机器学习、残差剖析、工夫序列拟合等方向。然而,最终符合咱们的预测模式是:阈值工夫序列预测、带宽实时预测模型。从最后摸索到最终成型,咱们的模型摸索也是屡次转变方向,逐步变得成熟。 3.2 算法要害【最近数据】尽管CDN厂商没法提供实时带宽数据,然而却能够提供一段时间之前的数据,比方15分钟之前的带宽数据,咱们简称之为最近数据。 基于最近的带宽数据,咱们尝试联合延期数据和历史数据之间的关系,纳入模型,钻研出一种自研的算法(次要周期单位为周),进行实时预测。 下图(数据已脱敏)是纳入最近数据之后的一周预测拟合成果。并且,区别于残差学习对渐变点的敏感,咱们的模型预测次要问题出在带宽转折点,只有解决好转折点的带宽模型即可让算法成果失去保障。 咱们自研算法的外围思路: 算法的注意事项: 四、“脚踏实地”做愚公假如你曾经可能较为精准的预测带宽(规范是:非凡渐变点之外,方差5%以内),那么真正要投产其实还有很多细节要做,你可能会一些面临模型优化的些许问题 或者 技术解决的问题。 ...