课程名称:201+2.5.6 TiKV Tuning Guide(TIDB 的 TiKV 性能优化指南)
学习时长:35分钟
课程收获:了解TiDB在TiKV层面的优化方式
课程内容:
讲师:刘新韬
1、 TiKV调优路径
发现SQL耗时上涨,优先检查TiDB和TiKV之间通信的延迟,这个延迟代表TiKV侧执行且回复TiDB侧的大致时间,通过对比Tikv侧执行的时间,大致可以推算网络是否正常。
确定延迟TiKV侧,通过分析TiKV的存储引擎,可以判断落盘是否出现问题,如不是,则是出现在TiKV的其他部分,如Raft同步,等待锁等
2、 TiKV架构概览
TiKV 是一个分布式事务型key-value数据库,受Google spanner 和 Hbase的启发,不依赖于分布式文件系统。
按照key的顺序划分成大致等长的数据块,称为Region。每个Region有多个副本,只有一个副本对外提供读写服务,这个副本称为leader,其他称为Follower。
TiKV使用Raft协议保证数据同步,副本数据一致性。
TiKV存储层
事务层,无状态
Raft
RocksDB
TiKV模型
事务-调度池
Raft-Raftstore线程
RocksDB-应用线程
3、 写请求
Select …for update
Update … set…
Insert into …
Replace into …
4、 常见问题
Write Stall
过多的Memory table
Coprocessor && tombstone
索引扫描
表扫描
RocksDB 统计信息
查询优化
学习过程中遇到的问题或延伸思考:
- 问题 1:
- 问题 2:
- 延伸思考 1:
- 延伸思考 2: