TiDB 插入性能测试和优化

环境

一共 4 个 TiKV 实例,CPU 数量每一个实例 30-40 核不等。多线程

须要特别说明的是 TiKV 都是机械硬盘,不是 SSD!并发

image

插入数据

插入数据量 80000 条左右,只有两个字段。spa

单线程批量插入

image

能够看到单线程批量 insert 效率很是低,OPS 只有 100 左右,80000 条记录插入花了差很少 13 分钟。线程

image

这个过程当中 TiKV 实例的 I/O 比较紧张。按照 TiDB 的文档,IO Util “通常到 80% - 90% 就须要考虑加节点”。3d

虽然说 TiDB 是专门针对 SSD 开发的,但机械硬盘真的就这么不堪吗?俺不甘心,因此试了下多线程批量插入。blog

多线程批量插入

分别尝试了 3 线程、10 线程、50 线程的批量插入,结果喜人:资源

image

如上图所示,50 线程的状况下 OPS 直接上升到 2K,80000 条记录的插入时间缩短到了不到一分钟。开发

与此同时 IO Util 的使用量:文档

image

虽然 IO Util 的值在 80% 左右能够说是到了瓶颈,但线程的增长貌似并无带来更大的压力提高。资源消耗的增长体如今了 CPU 上:get

image

可见增长 TiKV 集群中的核数和并发量,能够显著的提高 TiDB 插入效率。

相关文章
相关标签/搜索