openGauss- X-Tuner: 参数调优与诊断
可获得性
本特性自 openGauss 1.0.0 版本开始引入。
特性简介
X-Tuner 是一款数据库集成的参数调优工具,通过结合深度强化学习和全局搜索算法等 AI 技术,实现在无需人工干预的情况下,获取最佳数据库参数配置。本功能不强制与数据库环境部署到一起,支持独立部署,脱离数据库安装环境独立运行。
客户价值
该工具可以在任意场景下,快速给出当前负载的调参配置,减少 DBA 的人工干预,提升运维效果,满足客户期望。
特性描述
调优程序 X-Tuner 包含三种运行模式,分别是:
recommend:通过用户指定的用户名等信息登录到数据库环境中,获取当前正在运行的 workload 特征信息,根据上述特征信息生成参数推荐报告。报告当前数据库中不合理的参数配置和潜在风险等;输出根据当前正在运行的 workload 行为和特征;输出推荐的参数配置。该模式是秒级的,不涉及数据库的重启操作,其他模式可能需要反复重启数据库。
train:通过用户提供的 benchmark 信息,不断地进行参数修改和 benchmark 的执行。通过反复的迭代过程,训练强化学习模型,以便用户在后面通过 tune 模式加载该模型进行调优。
tune:使用优化算法进行数据库参数的调优,当前支持两大类算法,一种是深度强化学习,另一种是全局搜索算法(全局优化算法)。深度强化学习模式要求先运行 train 模式,生成训练后的调优模型,而使用全局搜索算法则不需要提前进行训练,可以直接进行搜索调优。
特性增强
无。
特性约束
数据库状态正常、客户端能够正常连接、且要求数据库内导入数据,以便调优程序可以执行 benchmark 测试调优效果。
使用本工具需要指定登录到数据库的用户身份,要求该登录到数据库上的用户具有足够的权限,以便可以获得充足的数据库状态信息。
使用登录到数据库宿主机上的 Linux 用户,需要将 $GAUSSHOME/bin 添加到 PATH 环境变量中,即能够直接运行 gsql、gs_guc、gs_ctl 等数据库运维工具。
Python 版本建议为 Python3.6 及以上,且运行环境中已经安装相应依赖,并能够正常启动调优程序。您可以独立安装一个 python3.6+的环境,无需设置到全局环境变量中。不建议使用 root 用户权限安装本工具,如果以 root 身份安装本完毕工具,使用其他用户身份运行本工具时,需要确保配置文件有读取权限。
本工具支持以三种模式运行,其中 tune 和 train 模式要求用户配置好 benchmark 运行环境,并导入数据,本工具将会通过迭代运行 benchmark 来判断修改后的参数是否有性能提升。
recommend 模式建议在数据库正在执行 workload 的过程中执行,以便获得更准确的实时 workload 信息。
本工具默认带有 TPC-C、TPC-H、TPC-DS 以及 sysbench 的 benchmark 运行脚本样例,如果用户使用上述 benchmark 对数据库系统进行压力测试,则可以对上述配置文件进行适度修改或配置。如果需要适配用户自己的业务场景,需要您参照 benchmark 目录中的 template.py 文件编写驱动您自定义 benchmark 的脚本文件。
依赖关系
无。
详情查看:https://docs-opengauss.osinfra.cn
评论