使用指导

前提条件

  • 数据库状态正常、客户端能够正常连接、且要求数据库内导入数据,以便调优程序可以执行benchmark测试调优效果。

  • Python版本要求为Python3.5+,且运行环境安装相应依赖,并能够正常启动调优程序。您可以独立安装一个Pyhton 3.5+的环境,无需设置到环境变量中。

背景信息

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

使用指导 - 图1 说明:
如果需要调优的参数中,包含重启数据库后才能使修改生效的参数,那么在调优过程中数据库将会重启多次。如果用户的数据库正在执行作业,请慎用此功能。

使用步骤

  1. 环境准备,使用如下命令安装$GAUSSHOME/bin/dbmind/xtuner/requirements.txt模块。

    1. pip install -r requirements.txt
  2. 用户进行数据库安全配置,并验证调优程序所在客户机能够正常访问到数据库实例所在的服务器;

  3. 用户向数据库实例内倒入数据(如TPC-C, TPC-H),并根据调优程序所给出的示例代码,编写符合自己实际业务的benchmark(benchmark实例脚本路径在benchmark目录中).并手动验证benchmark可以正常跑通并可获得稳定的测试结果,记录下此时的测试结果,以方便后续对比调优效果;

  4. 用户在确保数据库运行正常并在无其他人使用时,备份现有参数,并修改调优参数列表配置文件(文件路径在knobs目录中,默认配置文件是knobs_htap.py),设定需要调整的参数及其范围;

  5. 用户输入数据库连接信息,选择当前调优模式为“训练”或“调优”,启动参数调优程序;例如在X-Tuner根目录中输入

    1. python main.py -m train --db-name postgres\\
    2. --db-user dba --port 1234 \\
    3. --host 192.168.1.2 --host-user opengauss\\
    4. --benchmark tpcc --model-path mymodel
  6. 若为“训练”模式,则输出训练后的模型,程序退出;若为“调优”模式,则输出调优后的最优参数列表,程序退出。用户通过对比调优结果,自行判断是否应该设置为该参数,并手动设置为推荐参数或重置为调优前参数。