上面的截图:
一个 TiKV 包含两个 RocksDB 实例,一个用于存储 Raft 日志,位于
data/raft
。另一个用于存储真正的数据,位于
data/db
。通过
grep "Stalling" RocksDB
日志查看 stall 的具体原因,RocksDB 日志是 LOG 开头的文件,LOG 为当前日志。
这句话看懂了。但到tikv实际的环境里面,对应不上
文件跟文档里面描述的不一样。如何通过
grep "Stalling" RocksDB
日志查看 stall 的具体原因,这个具体怎么查?查询哪个文件?
监控上看,的确有server is busy,我想查到问题到底出现在哪块?文件里面: 通过
grep "Stalling" RocksDB
日志查看 stall 的具体原因,怎么查询?
grep “Stalling” rocksdb.log
查看
h5n1
(H5n1)
4
tikv 监控 rocksdb 里有stall reason
1 个赞
除了客户端报 server is busy
错误,还需要确认在问题时段附近,有没有其他相关联的异常内容。比如下面几项内容都会触发server is busy:
- 出现 write stall
- 出现 scheduler too busy
- 出现 raftstore is busy
- Coprocessor 出现了堆积
确认方式和解决办法的具体内容,可以参考官网文档:
https://docs.pingcap.com/zh/tidb/stable/tidb-troubleshooting-map#43-客户端报-server-is-busy-错误
随缘天空
(Ti D Ber Ivw R7o Pj)
9
应该是当前tikv服务器负载过高造成的,可能是由于高并发访问、大量数据处理或其他系统负载引起的。 你可以看下那段时间内tikv服务器资源问题(cpu、内存使用情况等),也可以看下监控图是否有热点问题
小龙虾爱大龙虾
(Minghao Ren)
11
高版本已经在scheduler层替代了rocksdb的流控机制,参考:https://docs.pingcap.com/zh/tidb/stable/tikv-configuration-file#storageflow-control
同时TiKV Detail面板也增加了flow control专门的页签,可以看相关监控
查询TiDB 的日志,搜索关键字serverisbusy,可以看到busy的原因,定位到最后根本原因一般是tikv压力大,热点问题。
1 个赞