【 TiDB 版本】7.1.2
从周一上午开始,TiKV读的IO就持续很高,即使在空闲的夜间也是,这个要如何排查?
update:所以这个Mbps并不是IO的意思么?
读的Mbps一直很高,但是IO占用率却不是一直升高
从流量可视化来看,也没有发现持续的读数据
Unified read pool CPU 持续跟这个MBps升高时间是一致的
【 TiDB 版本】7.1.2
从周一上午开始,TiKV读的IO就持续很高,即使在空闲的夜间也是,这个要如何排查?
update:所以这个Mbps并不是IO的意思么?
读的Mbps一直很高,但是IO占用率却不是一直升高
从流量可视化来看,也没有发现持续的读数据
Unified read pool CPU 持续跟这个MBps升高时间是一致的
服务在白天是有使用的,但不可能夜间也持续这么高,我也对比了上周的数据,确实是异常升高,之前我也停止了所有的任务,但这个读IO依然很高
QPS 会统计执行的所有 SQL 命令,包括 use database、load data、begin、commit、set、show、insert、select 等。
Statement OPS 只统计 select、update、insert 等业务相关的,所以 Statement OPS 的统计和业务比较相符。
按这个也查下
看下granafa监控 region是否一值在做平衡
平衡的话应该读写都升高吧
看下topsql是不是有性能劣化
可以看下监控TiKV-Details=>IO Breakdown面板,里面有详细的读写IO分类,整体加起来可能与磁盘这看到的还差一些,但是具有一定的参考意义
性能劣化都肉眼可见了
那就优化这些sql看看,可能是sql执行计划异常导致的
看下topsql相关表的统计信息准不,analyze是否有执行成功
应该不是SQL的问题,主要夜间空闲时间很多,而且我也关闭过SQL入口,这个Mbps没有明显变化,但是CPU的变化还是明显,我关闭SQL入口后,CPU明显下降了
你去看看磁盘那块的监控,真的有那么多读的量吗,有可能哪个TiKV面板的MBps跟我们想的不一样呢
你是说,去TiKV节点的Linux机器上看实际的硬盘读写量吗?
监控就有,overview 面板,node exporter面板,disk performance 面板
是这个吗?
[root@tidb-0010 ~]# iostat
Linux 3.10.0-1160.71.1.el7.x86_64 (tidb-0010) 12/19/2023 x86_64 (8 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
17.77 0.00 1.49 0.12 0.00 80.63
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
nvme0n1 655.14 1765.72 18559.24 81744347529 859205994992
TiKV网卡流量和读IO走势一直吗?
为了确定是否数据库内部异常,可以断开SQL入口之后,看下TiKV网卡流量是不是下降了。