ryans
1
【 TiDB 版本】
v5.1.2
集群配置,4台tikv
【遇到的问题】
磁盘写入速度较高,是否可能为region分裂导致?
【问题现象及影响】
目前我正在load数据到tidb
我发现存储dump文件的服务器,出口带宽速度为40mb/s
而4台tikv的服务器磁盘写入速度为500mb/s,磁盘读取速度为6mb/s。网络速度上传下载均为700MB/s。
这种比例是否正常?
考虑到我并未提前打散region,是否可能是region不断分裂,导致分裂时产生的大量网络io和磁盘写入呢?
另外如果是region分裂导致,那为何磁盘读取速度才6mb/s?
不应该疯狂读取磁盘再写入来进行region分裂么?
1 个赞
xfworld
(魔幻之翼)
2
LSM Tree 的特性就是写优化
region 的分裂是通过调度来实现的,调度受 PD 以及 表结构特性设定的影响
至于写入和读取,会有热点情况,说明未能将数据有效的分散到各个 tikv 节点中,这种情况是需要优化的
tikv 之间是通过 raft 来满足一致性的能力,所以 一份数据写入到一个节点之后,会通过raft 传递到其他的节点,对于网络肯定是有要求的
如果是测试 或者 POC 最好按照官网的要求配置的参数来进行,遵循一些规则会少走很多弯路
注:raft 协议 支持奇数, tikv 4个节点不太合适…
2 个赞
h5n1
(H5n1)
3
region是逻辑概念,和虚拟内存似的,把key空间划分成一段段的,由于数据不断写入,当region内key的大小近似值达到最大参数约束值后就会分裂,而不是分裂后导致写入,分裂后仅是一些管理元数据的变化,不影响下层rocksdb ,另外在写表数据时,还有索引、lock、raft log等数据都要写到磁盘上
2 个赞
ryans
4
4台tikv磁盘io都跑到顶了,没发现特别的热点
目前的服务器是64核512G运存,带宽10G的内网
磁盘io这么高,是受LSM合并影响大一些,还是数据导入影响大一些呢?
tidb能否专门指定某个表来停止自动合并,以此来取的更好的load性能?我看lightning是将整个集群停止对外服务,没有单独作用于某个表的方法
关于4个tikv节点,是因为资源有限,3个节点的话宕1个就丢数据,5个节点的话没机器了
下面是load期间的监控,可以看到load期间合并很频繁
1 个赞
张雨齐0720
(Zhangjig)
5
会,会搬运到其他节点,或者合并region,就会有新增和删除的
1 个赞
应该要打散region,这样提高IO性能,这样才能提升导入导出性能
region只是逻辑管理上概念,跟底层文件不是一一对应的。所以分裂合并不会带来大量的磁盘写入。大量的磁盘读写可能是RocksDB本身的compaction产生的。
1 个赞
system
(system)
关闭
9
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。