暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

openGauss的AI能力——X-Tuner

MTL 2022-09-27
1957

X-Tuner 概述 

⚫ X-Tuner是一款数据库集成的参数调优工具,通过结合深度强化学习和全局搜索算法等AI 技术,实现在无需人工干预的情况下,获取最佳数据库参数配置。 

⚫ 调优程序是一个独立于数据库内核之外的工具,不强制与数据库环境部署到一起,支持 独立部署,脱离数据库安装环境独立运行;使用调优程序时,需要提供数据库及其所在 实例的用户名和登录密码信息,以便控制数据库执行benchmark性能测试;在启动调优 程序前,要求用户测试环境交互正常,能够正常跑通benchmark测试脚本、能够正常连 接数据库。 

⚫ 该工具可以在任意场景下,快速给出当前负载的调参配置,减少DBA的人工干预,提升 运维效果,满足客户期望。


X-Tuner 结构图


X-Tuner 运行模式 

⚫ 调优程序X-Tuner包含三种运行模式,分别是: 

 recommend: 通过用户指定的用户名等信息登录到数据库环境中,获取当前正在运行的 workload特征信息,根据上述特征信息生成参数推荐报告。报告当前数据库中不合理的参数配 置和潜在风险等;输出根据当前正在运行的workload行为和特征;输出推荐的参数配置。该模式是秒级的,不涉及数据库的重启操作,其他模式可能需要反复重启数据库。 

 train: 通过用户提供的benchmark信息,不断地进行参数修改和benchmark的执行。通过反复 的迭代过程,训练强化学习模型,以便用户在后面通过tune模式加载该模型进行调优。 

 tune: 使用优化算法进行数据库参数的调优,当前支持两大类算法,一种是深度强化学习,另 一种是全局搜索算法(全局优化算法)。深度强化学习模式要求先运行train模式,生成训练后 的调优模型,而使用全局搜索算法则不需要提前进行训练,可以直接进行搜索调优。


X-Tuner 的运行和安装方法  

⚫ 可以通过两种方式运行X-Tuner, 一种是直接通过源码运行,另一种则是通过Python的setuptools将X-Tuner 安装到系统上,而后直接通过 gs_xtuner 命令调用。 

⚫ 方法一:直接通过源代码运行 

 切换到xtuner的源代码目录下。对于openGauss社区代码来说,该路径在openGaussserver/src/gausskernel/dbmind/tools/xtuner。对于已经安装的数据库系统,则该源代码路径为 $GAUSSHOME/bin/dbmind/xtuner。 

 在当前目录下可以看到 requirements.txt 等文件,通过pip包管理工具根据该 requirements.txt 文件安装依赖:

pip install -r requirements.txt

 安装成功后需要添加环境变量PYTHONPATH,然后可执行main.py. 以获取帮助信息为例,则可以执行:

cd tuner # 切换到 main.py 入口文件所在的目录 

export PYTHONPATH='..' # 将上一级目录添加到寻找包的路径中 

python main.py --help # 可以直接通过该命令执行获取帮助的动作,其他功能使用方法类似

⚫ 方法二:将X-Tuner 安装到系统中 

 可以通过 setup.py 文件将X-Tuner安装到系统中,然后通过命令gs_xtuner运行。首先需要切 换到xtuner的根目录,该路径在openGauss-server/src/gausskernel/dbmind/tools/xtuner。对 于已经安装的数据库系统,则该源代码路径为 $GAUSSHOME/bin/dbmind/xtuner。 

 执行下述命令,Python 会通过自身的setuptools 将本工具安装到Python环境中:

python setup.py install

 如果Python的bin目录被添加到PATH环境变量中,则gs_xtuner命令也可以在任何地方被直接 调用。 

 以获取帮助信息为例,执行下述命令:

gs_xtuner --help



「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论