背景
“深度学习”这个词已经进入了公众的视线。时至今日,相关技术也比较成熟,腾讯云数据库团队也在思考如何借助深度学习的方式来提升数据库的运行效率。首先想到的就是数据库的参数调优。由于业务系统的千差万别,也无法像优化 SQL 一样在细粒度下进行针对性的调优,是令数据库管理者头痛的难题,往往需要借助经验去构筑一套相对较为优异的参数模板。数据库参数调优能力也是专家级数据库管理者的专属技能。
2019-2021年之间,腾讯云数据库团队连续发表2篇论文,分别为《Automatic Database Tuning using Deep Reinforcement Learning》和《An Online Cloud Database Hybrid Tuning System for Personalized Requirements》,并申请了国际专利。现在,基于论文将这一理论研发为一种可用的系统,在真实场景中通过调整数据库参数来提升数据库性能。
为什么需要数据库参数调优服务:
参数非常多:例如 MySQL,有几百个配置项,调优难度大。
人力成本高:需要专职 DBA,依靠专家经验,人时成本高。
工具普适性:现存工具功能有限,耗时久效果一般。
云上新需求:部分用户没有专职运维团队,参数调优很难实现。
前提条件
具备一个状态为运行中的 MySQL 实例。
使用限制
集群版实例暂不支持使用智能参数调优功能。
场景智能调优每月有次数限制,每月每个实例可进行3次调优,从每月1日开始重置调优次数。
AI 智能分析每月有次数限制,每月每个实例可进行1次调优,从每月1日开始重置调优次数(AI 智能分析暂未发布,敬请期待)。
实例的 CPU 须为4核及以上,才能使用智能参数调优功能。
智能调参任务列表仅会保留最近15次的调参结果。
销毁/退还实例或实例到期时,如有智能参数调优任务处于进行中,则该任务会自动中止并删除该任务。
一个实例仅支持同时运行一个调优任务,无法发起多个调优任务。
智能参数调优功能目前暂时仅支持北京、上海、广州地域,后续将会逐步增加。
操作步骤
已购 MySQL 实例
1. 登录 MySQL 控制台,在上方选择地域,在实例列表,单击实例 ID 或操作列的管理,进入实例管理页面。
2. 在实例管理页,选择数据库管理 > 参数设置 > 智能参数调优。
3. 在智能调优弹窗,选择场景智能调优或者AI 智能分析的参数调优方式,配置好后单击开始分析。
如您选择场景智能调优方式,之后步骤如下:
场景智能调优:根据选定的应用场景进行智能分析,效率更高,更具针对性。
单击场景选择下拉键选择业务场景,有三种场景(交易类场景、OLTP 性能测试、压力测试)可供选择。
选择对应场景后,您可自定义该场景下的业务占比,便于系统更精确地进行分析。配置完成后单击开始分析。
交易类场景(TPCC)
定制内容:订单业务(高)、支付业务(高)、订单查询(低)、物流业务(低)、仓储业务(低)
数据读取方式:全缓存(默认)、磁盘读写。
并发度:低、中、高(默认)。
OLTP 性能测试(Sysbench)
定制内容:读取业务比例(高),写入业务比例(默认无)
数据读取方式:全缓存(默认)、磁盘读写。
并发度:低、中、高(默认)。
压力测试(myslap)
并发度:低、中、高(默认)
如您选择场景为 AI 智能分析方式(此功能暂未发布,敬请期待),之后操作步骤如下:
AI 智能分析:通过对数据库运行指标进行深度分析,确定数据库业务类型,再通过深度学习算法对不同参数在确定场景下进行性能分析,并给出参数设置建议。
选择 AI 智能分析 之后,单击开始分析。
注意:
AI 智能分析功能目前正在完善中,暂未发布,敬请期待。
AI 智能分析使用了深度学习算法以及大数据分析能力,分析耗时较长,建议在业务低峰期进行。
4. 开始分析后,参数调优任务即进行中,您可在参数设置页面选择智能参数调优 > 查看任务了解任务详情。
5. 参数调优任务结束后,在智能参数调优 > 查看任务里,单击操作列的查看结果。
6. 确认参数调优建议后,单击应用到实例。
7. 在弹窗下确认参数变更,选择执行方式,阅读并勾选重启规则,单击确定。
执行方式:
立即执行:确定后立刻应用到实例。
维护时间内:在维护时间内将此变更应用到实例,维护时间可在实例详情页修改。
新购 MySQL实例
购买 MySQL 实例时,您可在选定参数模板后,选择是否开启场景智能调优。使用场景智能调优后,系统会根据您选择的参数模板以及对应的业务场景进行二次调整,业务场景有三种,包括:交易类场景、OLTP 性能测试、压力测试。
对应修改结果您可以在数据库管理 > 参数设置 > 场景参数调优 > 查看任务中查看。