TiKV v.3.0.13 持续写入key键值写入测试中发现性能抖动,新人求解惑。

【TiDB 版本】:v.3.0.13
【问题描述】:持续写入key键值写入测试中发现性能抖动
测试用例:持续写入80亿个键值测试。
测试工具go-ycsb
workload a
recordcount=1000000000
fieldlength=25
fieldcount=1

开了8个go-ycsb对tikv集群写入key测试测试
当写入到5 billion key时,性能表现较为平稳


经过一夜写入后 数据量到达17billion key时,性能出现大幅抖动

想请教原因? 如何避免?

麻烦以下几个监控截图,在 Grafana 上面截取,注意时间段:

  1. TiKV-details → gRPC 面板的 16:20 - 9:10 监控
  2. TiKV-details → Error 面板的 16:20 - 9:10 监控
  3. TiKV-details → Thread CPU 面板的 16:20 - 9:10 监控
  4. TiKV-details → Raft I/O 面板的 16:20 - 9:10 监控

万分感谢
gRPC
image
image
image
image
image

Error



Thread CPU






Raft I/O




目前抖动表现明显

配置如下
pd.yml 3副本改成2副本

tikv.yml raftdb目录 /nvme0
wal log 目录 /nvme1

Hello~ 从监控看是触发了 raft store 的 write stall 机制。如果 raw-put 请求量是预期的,建议按照 tidb-map 文档尝试,在 CPU 整体资源负载低的情况下调整一下 CPU 参数,可以参考一下文档的处理办法。
https://github.com/pingcap/tidb-map/blob/master/maps/diagnose-map.md#43-客户端报-server-is-busy-错误通过查看监控-grafana---tikv---errors-监控确认具体-busy-原因server-is-busy-是-tikv-自身的流控机制tikv-通过这种方式告知-tidbti-client-当前-tikv-的压力过大等会再尝试

麻烦可以按照文档排查思路进行分析,可以考虑优先调整一下 raft store cpu 的大小,默认是 2 ,可以调整到 4 观察一下是否有缓解。

非常感谢,我尝试下!

:+1::+1::+1::+1::+1: