Doris性能优化建议
1、jdbc连接中添加参数rewriteBatchedStatements=true,将 JDBC 单条插入优化为批量操作
2、将单条插入攒成批后再插入,可先使用redis的zset存储,,每3秒后取出写入表中,写入失败再写回redis的zset
3、fe.conf中添加
按照机器可用内存的10/7赋予JAVA_OPTS=Xmx
为减少磁盘IO,可将sys_log_level的值设置为WARN
-- 库并发导入事务数
max_running_txn_num_per_db = 200
-- 避免在 FE 中堆积过多的报告任务
report_queue_size = 200
-- 启动单副本数据导入功能
enable_single_replica_load = true
4、be.conf中添加
按照机器可用内存的10/7赋予JAVA_OPTS=Xmx
-- 为减少磁盘IO
sys_log_level = WARNING
-- 启动单副本数据导入功能
enable_single_replica_load = true
5、分区分桶策略
按时间分区(如按天)减少数据扫描范围,避免全表扫描
合理设置 分桶数(Bucket),单个分桶大小建议 1-3GB,避免过多小文件导致 Compaction 压力
6、列式存储与压缩
使用 ZSTD 或 LZ4 压缩算法减少存储空间和 I/O 开销
通过 前缀索引 优化查询和写入效率,减少无效字段的序列化开销