- 定期清理磁盘空间:对高频删除 / 更新的表,定期执行
tikv-ctl space clean --db /data/tikv清理墓碑数据和过期 SSTable,降低空间放大; - 定期检查 Compaction 状态:通过
tikv-ctl compaction info查看 Compaction 进度,若出现堆积,及时调大后台线程数或降低写入压力; - 定期做数据归档:对冷数据(如超过 3 个月的日志、流水),通过TiDB Lightning归档到离线存储(如 HDFS、S3),删除 TiDB 中的冷数据,减少 TiKV 的磁盘占用和 Compaction 压力;
- 避免在业务高峰期执行大操作:如批量导入、全表更新、索引创建,这些操作会生成大量小 SSTable,触发 Compaction 风暴,建议在低峰期执行,并通过
SET GLOBAL tidb_ddl_reorg_batch_size = 1000调小 DDL 批量大小,降低对集群的影响。
感谢分享~
实际使用过程中,可以参考这个方法:
https://tidb.net/blog/6fd1515e
此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。