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

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

#### common_config.ini配置说明

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

后端数据库PostgreSQL和Spark History Server使能TLS双向认证时，common_config.ini配置文件中客户端私钥或客户端私钥密码需要为明文，存在信息泄露风险，相关代码已开源，软件使用者可以根据实际情况进行安全加固。


```
[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=
#后端数据库PostgreSQL的SSLmode
postgresql.database.sslmode=verify-full
#后端数据库PostgreSQL的服务端CA根证书路径
postgresql.database.sslrootcert=
#后端数据库PostgreSQL的客户端证书路径
postgresql.database.sslcert=
#后端数据库PostgreSQL的客户端私钥路径
postgresql.database.sslkey=
#后端数据库PostgreSQL的客户端私钥密码
postgresql.database.sslpassword=
[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
# Spark History Server的SSL双向校验开关，默认为开启状态，不可为空必须配置
spark.history.sslverify = true
# Spark History Server的SSL双向校验证书相关文件，仅在sslverify为True时生效
spark.history.sslrootca =
spark.history.sslcrt =
spark.history.sslkey =
[crypto]
# KMC占用的信号量，范围是0x1111～0x9999，只支持十六进制
kmc.sem.key=0x1111
```

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

  在当前网络环境稳定的情况下，默认值30已能较好地保障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
```
