生产环境tidb集群如何调优实现单表写入速率在2w/s以上

【 TiDB 使用环境】生产环境
【 TiDB 版本】V7.4.0
问题:如何调优实现单表插入速率在2w/s以上
配置:集群是三台机器,配置32G内存 32核cpu 500G FC存储(HDD和SDD混合),pd和tikv是三节点tiflash 2节点

做冷热分离fh oj

TiKV 自动将底层数据进行分片,所有数据按照 key 的范围划分为若干个 Region。当某个 Region 的大小超过一定限制后,TiKV 会将它分裂为多个 Region。

在大量数据的场景下,可能会出现 Region 数量过多,从而带来更多的资源开销和导致性能回退的问题。在固定数据量下,Region 越大,则 Region 个数越少。从 v6.1.0 开始,TiDB 支持设置自定义的 Region 大小。Region 默认的大小约为 96 MiB,将其调大可以减少 Region 个数。

开启 Hibernate RegionRegion Merge 也可以减少过多 Region 带来的性能开销。

使用 region-split-size 调整 Region 大小

https://docs.pingcap.com/zh/tidb/stable/tune-region-performance#region-性能调优

如果是高并发写入,可以参考 《TiDB 高并发写入场景最佳实践》https://docs.pingcap.com/zh/tidb/stable/high-concurrency-best-practices#高并发批量插入场景

好的,谢谢大佬宝贵的意见


https://docs.pingcap.com/zh/tidb/stable/dev-guide-connection-parameters#使用-batch-批量插入更新

插入方式是insert 啊是load data?

insert的,是用同步工具写入的

已经限制了bach了,4w最佳

新手来学习的。楼主有实现了吗?

小提示一下,生产环境最好不要用DMR版本,应该使用TLS版本。

https://docs.pingcap.com/zh/tidb/stable/versioning#tidb-版本规则

你的集群三台机器,居然还部署了2个tiflash?能给他拓扑图吗?我感觉资源争抢应该很严重啊。。。