openGauss源码解析(162)

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

8.2.5 使用示例

1. 运行源码的方法

可以通过两种方式运行X-Tuner,一种是直接通过源码运行,另一种则是通过python的setuptools将X-Tuner安装到系统上,而后直接通过gs_xtuner命令调用。下面分别介绍两种运行X-Tuner的方法。

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

(1) 切换到X-Tuner的代码根目录下,执行下述命令安装所需依赖。

pip install -r requirements.txt

(2) 安装成功后需要添加环境变量PYTHONPATH,然后执行main.py主文件,方法如下:

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

export PYTHONPATH='..' # 将上一级目录添加到PYTHONPATH环境变量中,即可寻找到包所在的路径

python main.py --help # 执行相应的功能,此处以获取帮助为例

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

使用如下命令直接执行源码根目录中的setup.py文件。

python setup.py install

如果python的bin目录被添加到PATH环境变量中,则gs_xtuner命令也可以在任何地方被直接调用。例如,可以通过下述命令获取帮助信息。

gs_xtuner --help

2. 参数推荐模式使用示例

在了解如何运行X-Tuner后,可以看一下运行X-Tuner的几种模式,首先介绍一下在线参数推荐模式,执行下述命令,填写对应的数据库连接信息,并输入对应密码后即可获得参数推荐结果。

gs_xtuner recommend --db-name opengauss --db-user omm --port 5678 --host 192.168.1.100 --host-user omm

当然,上面的数据库连接信息比较长,也可以通过json文件的格式传入,某个包含数据库连接信息的json格式文件内容如下:

{

"db_name": "opengauss", # 数据库名

"db_user": "omm", # 登录到数据库上的用户名

"host": "127.0.0.1", # 数据库宿主机的IP地址

"host_user": "omm", # 登录到数据库宿主机的用户名

"port": 5432, # 数据库的侦听端口号

"ssh_port": 22 # 数据库宿主机的SSH侦听端口号

}

假设上述文件名为connection.json,则通过下述命令即可使用该文件。

gs_xtuner recommend –f connection.json

经过几秒钟的诊断,会给出数据库参数配置的诊断信息以及推荐的参数调优列表,结果示例如图8-4所示。

图8-4 参数推荐模式的结果示意图

在图8-4报告中,推荐了该环境上的数据库参数配置,并进行了风险提示。报告同时生成了当前workload的特征信息,其中有几个特征是比较有参考意义的,这些特征的具体获取方法都在character.py文件中可以看到,详细说明如表8-4所示。

表8-4 workload的特征信息说明

特征名称

特征说明

temp_file_size

产生的临时文件数量,如果该结果大于0,则表明系统使用了临时文件。使用过多的临时文件会导致性能不佳,如果可能的话,需要提高work_mem参数的配置

cache_hit_rate

shared_buffer的缓存命中率,表明当前workload使用缓存的效率

read_write_ratio

数据库作业的读写比例

search_modify_ratio

数据库作业的查询与修改数据的比例

ap_index

表明当前workload的AP(analytical processing,分析处理)指数,取值范围是0到10,该数值越大,表明越偏向于数据分析与检索

workload_type

根据数据库统计信息,推测当前负载类型,分为AP、TP以及HTAP三种类型

checkpoint_avg_sync_time

数据库在checkpoint时,平均每次同步刷新数据到磁盘的时长,单位是毫秒

load_average

平均每个CPU核心在1分钟、5分钟以及15分钟内的负载。一般地,该数值在1左右表明当前硬件比较匹配workload、在3左右表明运行当前作业压力比较大,大于5则表示当前硬件环境运行该workload压力过大(此时一般建议减少负载或升级硬件)

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