---
title: OmniAdvisor配置文件说明
description: "OmniAdvisor参数调优2.0的配置文件包括common_config.ini和native_config.ini。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/252RC1/bds/kunpengbds_omniruntime_20_0529.html
sourcePath: /source/zh/kunpengboostkithistory/252RC1/bds/kunpengbds_omniruntime_20_0529.html
indexId: b8638be25a9aaded4a4747bbe2329e0ea75b6f784dae60b0e30fe341823fbfbf80
---
# OmniAdvisor配置文件说明

OmniAdvisor参数调优2.0的配置文件包括common_config.ini和native_config.ini。

#### common_config.ini

common_config.ini为OmniAdvisor参数调优2.0的基础配置文件，用于选择调优方式、设置复测轮次、配置数据库信息以及Spark History Server相关参数。

```
[common]
# 调优复测次数
tuning.retest.times=1
# 评估配置失效的阈值，当配置执行失败次数大于等于此值，则配置失效
config.fail.threshold=1
# 调优策略
tuning.strategy=[["transfer", 1],["expert", 2],["iterative", 10]]
# 后台复测使用的队列，若不设置，则保持用户队列
backend.retest.queue=
[database]
# 后端数据库PostgreSQL的database名称
postgresql.database.name=
# 后端数据库PostgreSQL的用户
postgresql.database.user=
# 后端数据库PostgreSQL的连接host
postgresql.database.host=
# 后端数据库PostgreSQL的连接端口
postgresql.database.port=
[spark]
# Spark History Server的URL仅用于Rest模式
spark.history.rest.url=http://localhost:18080
# Spark History Server的URL的用户名，仅需要时填写
spark.history.username=
# Spark从History Server抓取Trace的超时时间
spark.fetch.trace.timeout=30
# Spark从History Server抓取Trace的间隔用时
spark.fetch.trace.interval=5
# Spark任务执行的超时时间除以基线时间倍数
spark.exec.timeout.ratio=10.0
# 控制Spark的输出结果中stdout和stderr是否要分开
spark.output.merge.switch=False
[webpage]
# admin页面显示的时区
admin.timezone=Asia/Shanghai
```

- 如果spark.fetch.trace.timeout参数设置过小，可能导致在抓取Spark任务的trace信息时偶发失败，如  图1
所示。
  该问题不会影响后续调优流程的继续执行，但适当增大该值可以降低抓取失败的概率。

  在当前网络环境稳定的情况下，默认值30已能较好地保障trace信息的抓取成功率。 图1 抓取Spark任务的trace信息时偶发失败

- 如果spark.exec.timeout.ratio参数设置过低，增加因超时导致调优配置执行失败的概率，特别是在基线性能值较小的情况下。
  当前的默认值10已能满足大多数情况下的调优配置的正常执行。

  如果在使用过程中频繁出现因超时引发的调优失败，可尝试适当调高该参数的值。

- tuning.retest.times参数的值必须大于0。


#### native_config.ini

native_config.ini为OmniAdvisor参数调优2.0中针对Native调优的配置文件，用户可通过该文件指定OmniOperator的部署路径以及版本号等信息。

```
[native]
# OmniOperator部署根目录
omnioperator_home = /opt/omni-operator
# OmniOperator版本号
omnioperator_version = 1.7.0
# OmniOperator关联Spark版本，用于组成类似boostkit-omniop-spark-3.3.1-1.7.0-aarch64.jar的内容
omnioperator_spark_version = 3.3.1
# Hadoop部署根目录
hadoop_home = /usr/local/hadoop
```


**表1 数据库表字段含义说明**

| 表名 | 字段名称 | 含义 |
| --- | --- | --- |
| omniadvisor\_exam\_record | id | 自动生成的主键 |
| omniadvisor\_exam\_record | tuning\_record | 该条测试记录所关联的调优记录ID |
| omniadvisor\_exam\_record | start\_time | Spark任务的开始时间 |
| omniadvisor\_exam\_record | end\_time | Spark任务的结束时间 |
| omniadvisor\_exam\_record | status | Spark任务是否执行成功 |
| omniadvisor\_exam\_record | runtime | Spark任务的执行耗时 |
| omniadvisor\_exam\_record | application\_id | Spark任务的application\_id |
| omniadvisor\_exam\_record | trace | Spark任务执行所产生的trace数据 |
| omniadvisor\_load | id | 自动生成的主键 |
| omniadvisor\_load | name | 负载的名称 |
| omniadvisor\_load | exec\_attr | 负载的执行特征 |
| omniadvisor\_load | default\_config | 默认配置 |
| omniadvisor\_load | best\_config | 历史最优执行配置 |
| omniadvisor\_load | test\_config | 待复测的配置 |
| omniadvisor\_load | create\_time | 负载创建时间 |
| omniadvisor\_load | tuning\_needed | 是否需要调优 |
| omniadvisor\_load | hash\_value | 根据exec\_attr和default\_config计算出的hash值 |
| omniadvisor\_load | backend\_retest\_enable | 该条负载是否支持后台复测的标识 |
| omniadvisor\_tuning\_record | id | 自动生成的主键 |
| omniadvisor\_tuning\_record | load | 该条调优记录所关联的load id |
| omniadvisor\_tuning\_record | config | 调优的配置 |
| omniadvisor\_tuning\_record | method | 调优的方法 |
| omniadvisor\_tuning\_record | method\_extend | 调优方法的子类 |
| omniadvisor\_tuning\_record | rounds | 调优轮次 |
