openGauss源码解析(157)

openGauss源码解析:AI技术(4)

2. 在线参数调优流程概述

X-Tuner采集操作系统的统计信息和workload特征,根据训练好的监督学习模型或先验规则,推荐给用户对应的参数修改建议。在线参数调优过程的流程图如图8-3所示。

图8-3 在线参数调优过程的流程图

8.2.4 openGauss关键源码解析

X-Tuner在项目中的源代码路径为:openGauss-server/src/gausskernel/dbmind/tools/xtuner。

1. 项目结构

X-Tuner文件结构如表8-2所示。

表8-2 X-Tuner主要文件结构

文件结构

说明

setup.py

安装脚本

share

配置文件示例

test

单元测试文件的目录

tuner

调优程序主代码目录

tuner/algorithms

算法子模块

tuner/algorithms/pso.py

粒子群算法

tuner/benchmark

压力测试驱动脚本存储的目录

tuner/benchmark/sysbench.py

sysbench驱动脚本

tuner/benchmark/template.py

压力测试驱动脚本的模板

tuner/benchmark/tpcc.py

TPC-C驱动脚本

tuner/benchmark/tpcds.py

TPC-DS驱动脚本

tuner/benchmark/tpch.py

TPC-H驱动脚本

tuner/character.py

获取系统workload特征的模块

tuner/db_agent.py

封装数据库操作的模块

tuner/db_env.py

离线调优流程控制模块

tuner/env.py

保持与强化学习gym库的接口一致

tuner/exceptions.py

定义常见异常

tuner/executor.py

封装shell连接

knobs/knob.py

定义参数相关类

knobs/main.py

入口文件

knobs/recommend.py

定义参数推荐的算法与规则

knobs/recorder.py

记录调优过程的模块

knobs/utils.py

定义一些工具函数

knobs/xtuner.conf

默认配置文件

knobs/xtuner.py

调优主流程控制模块

knobs/README.md

安装脚本

posted @ 2024-04-30 11:18  openGauss-bot  阅读(3)  评论(0编辑  收藏  举报