感觉是磁盘的问题。
借用@h5n1 大佬的话:
云盘性能差,tidb内读写量比较大,每个操作、锁都得写raft日志,compaction还有大量读写。
IOPS 分为读写两部分,云盘标称的高 IOPS 大都是利用缓存获得提升的读 IOPS;磁盘的性能还包括带宽和 fdatasync,TiKV 在数据写入时需要进行磁盘的 sync 操作,以确保数据已经从缓冲区刷到硬件,再返回给业务侧,具体为 fdatasync 的操作系统调用。
TiKV 磁盘的建议 2GB/s 以上的写带宽,20K 次/s 以上的 fdatasync,在 4KB 高并发 direct 写的测试中 P99.99 低于 3ms;可以使用 fio 新版、或者 pg_test_fsync 工具进行测试。可以加上 -fdatasync=1 选项测一下,例如 大并发每次写4k而且每次 fsync
fio -direct=0 -fdatasync=1 -iodepth=4 -thread=4 -rw=write -ioengine=libaio -bs=4k -filename=./fio_test -size=20G -runtime=60 -group_reporting -name=write_test
fdatasync的性能参考
参考值一:非 NVMe 的 SSD 的 fdatasync/s 约 5~8K/s
参考值二:中早期 NVMe 的 fdatasync/s 约 20~50K/s
参考值三:当前成熟的 PCIE 3 的 NVMe 约 200~500K/s