doris存算一体场景 compaction没有触发的问题

Viewed 27

doris: 3.0.3-rc04
部署模式: 存算一体
样例数据格式: 表数据格式

问题场景:

kafka单台写入 持续1小时,发现后compaction出现飙升

image.png

开启如下参数

compaction_pocliy = time series
time_series_compaction_goal_size_mbytes = 1610612736 (根据内存最大峰值设置)

开启的用意: 我们的场景是面向时序日志的顺序写比较高iops的场景,但因为工业领域的特殊性,资源有限希望尽可能的使用机械盘。所以我们想尽可能用compaction组织成顺序写,在保证BE低内存开销的同时,对HDD的iops也不会很频繁。综上所述,我们期望调优的最终结果是内存开销低,并且磁盘的iops也不会很高

我们先后尝试了存算分离和存算一体场景。先来说下存算分离

在上述参数下,监控表现为:

be compaction score: 在一开始的6小时内compaction score出现上涨

image.png

内存: 在更换compaction策略Vertical compaction后出现下降, 从2G下降到1G
enable_vertical_compaction = true

image.png

compaction score波动在0-20之间,属于正常值

发现内存还是有些高,有没有办法基于并行的compaction任务降低运行的资源开销的呢

调整参数如下:
参数意义: doris compaction运维方法

enable_vertical_compaction = true
compaction_pocliy = time series
max_base_compaction_threads = 8
max_cumu_compaction_threads = 16
compaction_task_num_per_disk = 4
compaction_task_num_per_fast_disk = 8
max_cumulative_compaction_num_singleton_deltas = 500
time_series_compaction_goal_size_mbytes = 1610612736 (根据内存最大峰值设置)

BE内存波动后下降,稳定在800MB, 持续2小时稳定
image.png

image.png

存算一体场景(保持调整后一样的参数):

be mem.png

compaction score

image.png

发现compaction策略并没有触发,这是为什么呢?

1 Answers

需要提供开启time series之后be.INFO日志分析一下,可以加我微信(hhj_0530)看看。