error 9002: TiKV server timeout

* 【TiDB 版本】:V3.0.9

* 【问题描述】:
数据大小有715G ,使用loader 导入一直提示error  9002: TiKV server timeout,帮忙看一下是什么原因导致的?

 /usr/local/tidb-enterprise-tools-latest-linux-amd64/bin/loader -t 32  -u root  -h 10.1.13.5 -P 4000  -d /data/tidb_dumper/export-20200302-065545

请提供一下 TiKV 的 QPS、CPU(raft store cpu, async apply cpu)、内存、IO 等相关的监控指标

32核CPU,62 G 内存






从监控指上看,机器的 IO 有超过 80% 的情况,有瓶颈,再确认一下 raftstore.store-pool-size 配置是多少?

[readpool.storage]

[readpool.coprocessor]

[server] labels = { }

[storage]

[storage.block-cache] capacity = “20GB”

[pd]

##This section will be overwritten by command line parameters

[metric]

[raftstore] raftdb-path = “” sync-log = true

[coprocessor]

[rocksdb] wal-dir = “”

[rocksdb.defaultcf] block-cache-size = “16GB”

[rocksdb.defaultcf.titan]

[rocksdb.lockcf]

[rocksdb.titan]

[rocksdb.writecf] block-cache-size = “6GB”

[raftdb]

[raftdb.defaultcf]

[security] ca-path = “” cert-path = “” key-path = “”

[import]

[pessimistic-txn]

[gc]

store-pool-size、apply-pool-size 的默认值都是 : 2 ,从监控图上来看 raft, apply 还没有到瓶颈,那基上可以判断是 IO 的问题,请问你们采用的磁盘是什么类型的,磁盘的 IOPS 大概是多少?

SSD 磁盘

08:47:08 AM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
08:47:09 AM   dev8-16   1063.00      0.00 463169.00    435.72     68.79     63.34      0.89     94.70

08:47:09 AM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
08:47:10 AM   dev8-16   1102.00      0.00 474871.00    430.92     32.82     30.33      0.88     97.40

08:47:10 AM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
08:47:11 AM   dev8-16   1088.00      0.00 458163.00    421.11     25.10     23.86      0.88     95.40
  1. 从目前的情况来看磁盘 IO 是瓶颈,看看能否加一点机器
  2. 从监控来看还有一个问题,磁盘 IO 分布不均,导入的时候集中在某一台,这个是一个问题,你们的数据有规律吗?

机器无法加了。 IO 分布不均匀这个要怎么解决呢?不知道怎么看数据有没有规律,我是通过mydumper 导出来的,然后再loader 导进去

判断没有规律的方法,例如:有没有唯一索引或者主键,先要看看数据有没有规律,才能知道有没有方法

每张表都有主键,有一些大表有做分区,小表没分区。各个表的数据量级别不一样。

loader 支持表级别的并发导入,分散写入热点以及支持对单个大表并发导入,分散写入热点等功能,所有按表拆分,大表拆小表基本上没有什么用处

另外,能确认一下有没有写入热点吗?

没有。我现在只是做全备导入的,之后要做增量同步

写入热点跟全量导入、增量同步估计关系不大,关键还是看数据是否都是有序的,如果有序有很有可能出现