差异参数名 | 读写均衡模板(默认) | 高吞吐写入模板 | 高吞吐读取模板 |
tdstore_user_cf_write_buffer_size | 内存 < 32 GB:64 MB 32 GB ≤ 内存 < 64 GB:128 MB 内存 >= 64 GB:256 MB | 256 MB | 256 MB |
tdstore_user_cf_max_bytes_for_level_base | {tdstore_user_cf_level0_file_num_compaction_trigger} * {tdstore_user_cf_write_buffer_size} | 4 GB | 1 GB |
tdstore_user_cf_target_file_size_base | 32 MB | 32 MB | 256 MB |
tdstore_user_cf_level0_file_num_compaction_trigger | 4 | 16 | 1 |
64 | 128 | 64 | |
128 | 256 | 128 | |
tdstore_user_cf_disable_intra_l0_compaction | OFF (开启 L0 层内合并) | ON (关闭 L0 层内合并) | OFF (开启 L0 层内合并) |
tdstore_user_cf_soft_l0_pending_compaction_bytes_limit | 磁盘 < 1 TB:32 GB 1 TB ≤ 磁盘 < 3 TB:64 GB 磁盘 ≥ 3 TB:128 GB(全局缓写) | 128 GB | 同默认模板 |
tdstore_user_cf_hard_l0_pending_compaction_bytes_limit | 磁盘 < 1 TB:128 GB 1 TB ≤ 磁盘 < 3 TB:128 GB 磁盘 ≥ 3 TB:256 GB(全局缓写) | 256 GB | 同默认模板 |
磁盘 < 1 TB:256 GB 1 TB ≤ 磁盘 < 3 TB:512 GB 磁盘 ≥ 3 TB:0(关闭全局缓写保护机制) | 0 (关闭全局缓写保护机制) | 同默认模板 | |
磁盘 < 1 TB:512 GB 1 TB ≤ 磁盘 < 3 TB:1024 GB 磁盘 ≥ 3 TB:0(关闭全局缓写保护机制) | 0 (关闭全局停写保护机制) | 同默认模板 | |
tdstore_user_cf_compression_per_level | kNoCompression:kNoCompression:kLZ4Compression:kLZ4Compression:kZSTD:kZSTD:kZSTD | kLZ4Compression:kLZ4Compression:kZSTD:kZSTD:kZSTD:kZSTD:kZSTD | 同默认模板 |
参数 | 说明 | 选择建议 |
tdstore_user_cf_write_buffer_size | 单个写缓冲区(MemTable)的大小。写入先进入缓冲区,满了才刷盘。值越大,写入吞吐越高(减少刷盘频率),但内存占用越多、故障恢复时间越长。 | 64 MB:内存紧张或写入量小的场景 128 MB:通用推荐 256 MB:大批量写入场景,例如,数据导入等 |
tdstore_user_cf_max_bytes_for_level_base | LSM-Tree L1 层的容量上限,该参数决定了 LSM-Tree 的整体层数和写放大。值越大,层数越少,写放大越小,但单次 Compaction 的数据量更大。 | 1 GB:数据量中等、读性能优先的业务 4 GB:超大数据量、写吞吐优先的业务 |
tdstore_user_cf_target_file_size_base | 每个 SST 数据文件的目标大小。值越大:文件数越少、元数据开销低;值越小:Compaction 粒度更细、缓存命中率更高。 | 32 MB:数据量中等、读性能优先的业务 256 MB:超大数据量、写吞吐优先的业务 |
tdstore_user_cf_level0_file_num_compaction_trigger | L0 层是刚从内存刷盘的文件堆积区,文件越多查询越慢。该参数控制 L0 层堆积多少个文件后触发 Compaction 整理。值越小:整理越及时,读性能稳定;值越大:写入更流畅,但读延迟波动大。 | 1:读多写少,读性能优先的业务 4:通用场景,读写均衡 16:大批量写入场景,例如,数据导入等,通过容忍短暂读性能下降,换取写入不被阻塞 |
L0 文件数达到此阈值时降低写入速度(限流),给 Compaction 留出追赶时间。 | 64:通用场景,读写均衡 128:大批量写入场景,例如,数据导入等,通过容忍短暂读性能下降,换取写入不被阻塞 | |
L0 文件数达到此阈值时完全停止写入,直到 Compaction 追上。这是保护机制,防止 L0 无限膨胀。 | 128:通用场景,读写均衡 256:大批量写入场景,例如,数据导入等,通过容忍短暂读性能下降,换取写入不被阻塞 | |
tdstore_user_cf_disable_intra_l0_compaction | 该参数控制 L0 层是否开启层内文件合并,若开启 L0 层内文件合并,L0 内的小文件先合并成大文件,减少 L0 文件数量,有利于降低读放大;若关闭 L0 层内合并,适用于写入密集且 L0 文件数阈值设得很高的场景,减少 Compaction CPU 开销。 | OFF:开启 L0 层内合并,适合读多写少业务 |
| | ON:关闭 L0 层内合并,适合写入密集场景 |
tdstore_user_cf_soft_l0_pending_compaction_bytes_limit | L0 层缓写参数,当 L0 层待 Compaction 字节数达到此值时触发缓写(降低写入速度),专门防止 L0 层膨胀。 | 32 GB:读多写少,读性能优先的业务 64 GB:通用场景,读写均衡 128 GB:大批量写入场景,例如,数据导入等,通过容忍短暂 L0 Compaction 粒度过大,换取写入不被阻塞 |
tdstore_user_cf_hard_l0_pending_compaction_bytes_limit | L0 层停写参数,当 L0 层待 Compaction 字节数达到此值时触发停写,专门防止 L0 层膨胀。 | 128 GB:读写均衡场景 256 GB:大批量写入场景,例如,数据导入等,通过容忍短暂 L0 Compaction 粒度过大,换取写入不被阻塞 |
全局缓写参数,当 Compaction 跟不上写入速度时,待整理的数据会堆积,该参数通过缓写(降低写入速度)保护防止磁盘被撑爆。 | 0:关闭全局触发缓写保护机制 256 GB:全局待 Compaction 数据量达到 256 GB 时触发缓写保护机制,通用配置 512 GB:全局待 Compaction 数据量达到 512 GB 时触发缓写保护机制,适合超大实例 | |
全局停写参数,当 Compaction 跟不上写入速度时,待整理的数据会堆积,该参数通过停写(停止写入)保护防止磁盘被撑爆。 | 0:关闭全局触发停写保护机制,即永不因此停写 512 GB:全局待 Compaction 数据量达到 512 GB 时触发停写保护机制,通用配置 1024 GB:全局待 Compaction 数据量达到 1024 GB 时触发停写保护机制,适合超大实例 | |
tdstore_user_cf_compression_per_level | 按 LSM 层级分别配置压缩算法。L0~L1 用 LZ4(速度快,CPU 低),L2~L6 用 ZSTD(压缩率高,节省磁盘)。上层重速度,下层重空间。 | kNoCompression:kNoCompression:kLZ4Compression:kLZ4Compression:kZSTD:kZSTD:kZSTD:上层不压缩,读取上层热数据较快,底层大量冷数据压缩率较高,读写均衡。 kLZ4Compression:kLZ4Compression:kZSTD:kZSTD:kZSTD:kZSTD:kZSTD:上层数据也压缩,减少写密集场景下 compaction 对 IO 带宽的消耗 |
文档反馈