大数据计算引擎参数
Flink
Flink有standalone、yarn两种运行模式,当前测试场景以yarn模式为基准。需注意,不同运行模式在资源管理、任务调度策略及并发控制机制上存在差异,因此其性能表现也可能有所不同。在实际生产环境中,应根据业务需求和集群管理策略选择合适的运行模式,并结合对应模式的调优实践进行性能优化。
推荐参数 |
调优分析 |
|||||
---|---|---|---|---|---|---|
参数名称 |
参数含义 |
调整范围 |
Testing Case |
重要性比率(%) |
参考最优值(vs. Baseline) |
|
state.backend.rocksdb.block.cache-size |
控制RocksDB数据块缓存大小 |
[2, 512] |
Latency |
10.8% |
227 |
(+3.2%) |
execution.checkpointing.interval |
Flink作业状态checkpoint的触发周期 |
[10, 600000] |
6.4% |
489870 |
||
taskmanager.network.request-backoff.max |
TaskManager网络请求失败后的最大重试间隔时间 |
[1000, 20000] |
6.1% |
15256 |
Hive
- 业务参数
建议在Hive启动配置中,将hive.auto.convert.join.noconditionaltask.size参数设置为相对较大的值,同时将tez.grouping.min-size参数设置为相对较小的值,以优化任务拆分与执行效率。对于hive.stats.fetch.column.stats参数,需根据具体业务场景和测试用例表现进行选择性配置,其在不同的Testing Case下表现不一。
表2 Hive业务参数 推荐参数
调优分析
参数名称
参数含义
调整范围
重要性比率(%)
参考最优值(vs. Baseline)
参考最劣值(vs. Baseline)
tez.grouping.min-size
Tez任务处理的最小输入数据量
{8000000, 16000000,32000000, 64000000,128000000, 256000000,512000000, 768000000,1024000000, 2048000000}
33.1%
16000000
(+30.8%)
768000000
(-57.9%)
hive.auto.convert.join.noconditionaltask.size
自动广播的小表总大小阈值
{0, 10000000, 50000000,100000000, 250000000,500000000, 750000000,1000000000}
30.8%
1000000000
0
hive.stats.fetch.column.stats
从Metastore获取列级统计信息
{true, false}
24.9%
-
-
- 系统参数
表3 Hive系统参数 推荐参数
调优分析
参数名称
调整范围
重要性比率(%)
测试环境默认值
参考最优值(vs. Baseline)
transparent_hugepage_mode
{madvise, never, always}
47.1%
never
always(+11.9%)
Spark
Spark集群有yarn、standalone两种部署模式,当前测试场景以yarn部署模式为基准。
- 业务参数
在Spark启动配置中,建议将spark.executor.instances和spark.sql.shuffle.partitions设置为相对较大的值,以提升并行度和任务调度效率。其他参数的推荐配置可参考表4进行调整。
表4 Spark业务参数 推荐参数
调优分析
参数名称
参数含义
调整范围
重要性比率(%)
参考最优值(vs. Baseline)
参考最劣值(vs. Baseline)
spark.executor.instances
执行任务的工作进程Executor数量
[2, 48]
29.6%
45
(+28.7%)
2
(-3.5%)
spark.sql.adaptive.enabled
自适应查询执行使能
{true, false}
20.0%
false
true
spark.sql.shuffle.partitions
Spark SQL Shuffle操作生成的分区数量
[100, 1000]
17.0%
775
259
spark.sql.autoBroadcastJoinThreshold
Spark SQL中自动广播小表的大小上限
{0, 10485760, 52428800,104857600, 209715200,314572800, 524288000,1048576000}
14.7%
0
1048576000
spark.executor.memory
每个Spark Executor进程可用的内存大小
[2, 32]
8.6%
4
30
spark.default.parallelism
RDD中的默认分区数
[200, 1600]
7.1%
1455
200
- 系统参数
表5 Spark系统参数 推荐参数
调优分析
参数名称
调整范围
重要性比率(%)
测试环境默认值
参考最优值(vs. Baseline)
transparent_hugepage_mode
{madvise, never, always}
20.5%
never
always(+4.2%)