阿里分析型数据库 阿里云数据库怎么用( 三 )


图7. 基于性能数据的数据库规格ScaleUp模型离线训练示意图
图8. 基于性能数据的数据库规格ScaleUp实时推荐方法示意图
2.3.2 ScaleOut决策算法
ScaleOut决策算法与ScaleUp决策算法的思路类似,本质问题是确定增加多少个只读节点,能使实例当前的workload负载降至合理的水位 。在ScaleOut决策算法里,我们同样实现了基于规则的与基于分类的算法,分类算法的思想与2.3.1章节里描述的基本类似,基于规则的算法思想则如图9.所示,首先我们需要确定与读流量最相关的指标,这里选取的是com_select、qps及rows_read指标,s_i表示第i个节点读相关指标的表征值,c_i表示第i个节点的目标约束表征值(通常使用CPU使用率、RT等直接反应业务性能的指标),f指目标函数,算法的目标便是确定增加多少个只读节点X,能使整个集群的负载降至f函数确定的范围 。该计算方法明确且有效,算法上线后,以变配后集群的CPU负载是否降至合理水位作为评估条件,算法的准确率达到了85%以上,在确定采取ScaleOut变配方式后,ScaleOut决策算法新增的只读节点基本都能处于“恰好饱和”的工作负载,能够有效的提升数据库实例的吞吐 。
图9. 基于性能数据的数据库节点数量ScaleOut推荐算法示意图
3. 落地3.1 实现架构
Autoscaling能力集成在DAS服务里,整个服务涉及异常检测、全局决策、Autoscaling服务、底层管控执行多个模块,如图10.所示是DAS Autoscaling的服务能力架构 。异常检测模块是DAS所有诊断优化服务(Autoscaling、SQL限流、SQL优化、空间优化等)的入口,该模块会7*24小时对监控指标、SQL、锁、日志及运维事件等进行实时检测,并会基于AI的算法对其中的趋势如Spike、Seasonaliy、Trend及Meanshift等进行预测及分析;DAS的全局决策模块会根据实例当前的workload负载给出最佳的诊断建议;当由全局决策模块确定执行Autoscaling操作时,则会进入到第2章节介绍的Autoscaling工作流程,最终通过数据库底层的管控服务来实现实例的扩、缩容 。
图10. DAS及AutoScaling的服务能力架构
3.2 产品方案
本章节将介绍Autoscaling功能在DAS里的开启方式 。如图11.所示是DAS的阿里云官网产品首页,在该界面可以看到DAS提供的所有功能,如“实例监控”、“请求分析”、“智能压测”等等,点击“实例监控”选项可以查看用户接入的所有数据库实例 。我们点击具体的实例id链接并选择“自治中心”选项,可以看到如图12.及图13.所示的PolarDB自动扩、缩容设置及RDS-MySQL自动扩容设置,对于PolarDB实例,用户可以设置扩容规格上限、只读节点数量上限、观测窗口及静默期等选项,对于RDS-MySQL实例,用户可以设置触发阈值、规格上限及存储容量上限等选项 。
图11. DAS产品首页
图12. PolarDB自动扩、缩容设置图示
图13. RDS-MySQL自动扩、缩容设置图示
3.3 效果案例
本章节将介绍两个具体的线上案例 。如图14.所示为线上PolarDB实例的计算规格Autoscaling触发示意图,在05:00-07:00的时间段,实例的负载慢慢上升,最终CPU使用率超过了80%,在07:00时触发了自动扩容操作,后台的Autoscaling服务判断实例当前读流量占主导,于是执行了ScaleOut操作,为集群增加了两个只读节点,通过图示可以看到,增加节点后集群的负载明显下降,CPU使用率降至了50%左右;在之后的2个小时里,实例的业务流量继续增加,导致实例负载继续在缓慢上升,于是在09:00的时候再次达到了扩容的触发条件,此时后台服务判断实例当前写流量占主导,于是执行了ScaleUp操作,将集群的规格由4核8GB升级到8核16GB,由图示可以看到规格升级后实例的负载趋于稳定,并维持了近17个小时,之后实例的负载下降并触发了自动回缩操作,后台Autoscaling服务将实例的规格由8核16GB降至4核8GB,并减少了两个只读节点 。Autoscaing服务在后台会自动运行,无需人工干预,在负载高峰期扩容、在负载低谷时回缩,提升业务稳定性的同时降低了用户的成本 。


以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!

「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助: