【TiDB 4.0 PCTA 学习笔记】- 2.5.6 TIDB 的 TiKV 性能优化指南@1班 - 江坤

课程名称:课程版本(201)+ 2.5.6 TiKV Tuning Guide(TIDB 的 TiKV 性能优化指南)

学习时长:

30 min

课程收获:

再次复习TiKV架构,如何判断TiKV中是否出现问题,排查问题所在和解决方法。

课程内容:

Tuing Roadmap

  • 优先排查TiDB 和 TiKV的通信问题
  • 确定为TiKV部分问题之后对TiKV进行排查

Architect

  • 只有Leader提供读写服务
  • raft保持一致

  • RocksDB单机存储引擎
  • Percolater 事务
  • Raft 保持数据一致

  • Leader为单个,Follower为多个,一主多备
  • 多数副本持久化改动,Leader commit这个改动
  • raftstore 负责维护 raft状态机和日志
  • raft log 就是一个 RocksDB实例
  • raft log 被同步到多数TiKV节点中就可以被Apply

TiKV Tuing Guide

  • 面板查看是否有异常

  • 关注Prewrite 和 commit是否有异常

  • 判断是TiKV问题还是TiDB问题

  • KV request QPS是否符合比例

  • Writer Requset

    • 两阶段提交
    • 分析走哪些TiKV接口,观察接口状态来判断问题所在
  • Storage async write

    • 事务层下层总耗时
    • 延时较高则问题出在下层
  • Raft propose

    • Propose wait duration per server
    • Apply wait duration per server
    • Apply 延迟高则Apply线程数配比太少
    • Propose 延迟高则盘太差,或者Raft线程数配比太少
  • Server CPU

    • 观察TiKV进程CPU
    • CPU占用率达到上限,则各个模块上涨
  • Thread CPU

Common Problems



学习过程中遇到的问题或延伸思考:

学习过程中参考的其他资料