环境
一共 4 个 TiKV 实例,CPU 数量每个实例 30-40 核不等。
须要特地阐明的是 TiKV 都是机械硬盘,不是 SSD!
插入数据
插入数据量 80000 条左右,只有两个字段。
单线程批量插入
能够看到单线程批量 insert 效率非常低,OPS 只有 100 左右,80000 条记录插入花了差不多 13 分钟。
这个过程中 TiKV 实例的 I/O 比拟缓和。依照 TiKV 的文档,IO Util“个别到 80% – 90% 就须要思考加节点”。
虽说 TiKV 是专门针对 SSD 开发的,但机械硬盘真的就这么不堪吗?俺不甘心,所以试了下多线程批量插入。
多线程批量插入
别离尝试了 3 线程、10 线程、50 线程的批量插入,后果喜人:
如上图所示,50 线程的状况下 OPS 间接回升到 2K,80000 条记录的插入工夫缩短到了不到一分钟。
与此同时 IO Util 的使用量:
尽管 IO Util 的值在 80% 左右能够说是到了瓶颈,但线程的减少貌似并没有带来更大的压力晋升。资源耗费的减少体现在了 CPU 上:
可见减少 TiKV 集群中的核数和并发量,能够显著的晋升 TiDB 插入效率。