性能优化
同步任务参数设置
- max_full_sync_task_threads_num:全量同步线程数,默认为FE节点的CPU核数的一半。值越大执行全量同步的速度越快,但占用TP和AP的CPU和内存资源越多。执行全量同步时,需根据系统的压力,设置一个合适的值。同时执行多个全量同步任务时,需将此值调小。
- max_incremental_sync_task_threads_num:增量同步线程数,默认为FE节点的CPU核数的一半。值越大执行增量同步的线程越多,占有的资源越多,同步时延较低。若实例上同步任务较多,大于5个,需要降低每个任务的同步线程数。
- expect_tablet_size:预期每个Bucket的存储源数据的大小,单位为GB,默认为3。若库里表的数据量大多小于3G,个别表数据量较大,可以将此值调小。
- expect_tablet_num_for_one_partition:预期每个分区的默认桶数,如果设置为0,将按照数据大小计算桶数,默认为2。若库里表中无数据,则默认使用此设定值;若库中表里有数据,则按数据量/expect_tablet_size来设定分桶数。若使用表同步设置指定了分区键,则需要评估每个分区中的数据量需要设定多少桶,最终表的分桶数为:分区数*每个分区中的桶数。
- 开query cache
适用于查询的数据表现出冷热性,频繁执行聚合查询场景。通过DAS连接AP数据库执行命令SET GLOBAL enable_query_cache=true;
- 排序键
常用的过滤条件,加到排序键,排序键的顺序按使用频次和数据基数确认,高基数优先,排序键建议不超过5个。排序键为AP性能优化最常使用的方法。创建同步任务时通过表同步设置功能进行设置。
- 分区
- 索引
用于过滤的列可以尝试添加索引。bitmap索引适合基数在10000-100000左右的列。blommfilter索引适合基数在100000+的列。数据同步好后通过DAS连接AP数据库通过SQL命令进行创建。
- 物化视图
有多个频繁使用的查询,过滤条件不一样,排序键只能适配一个查询时,可以创建物化视图适配其他查询。数据同步好后通过DAS连接AP数据库通过SQL命令进行创建。