TiKV持续占用大量读IO?Mbps?

【 TiDB 版本】7.1.2
从周一上午开始,TiKV读的IO就持续很高,即使在空闲的夜间也是,这个要如何排查?

update:所以这个Mbps并不是IO的意思么?

读的Mbps一直很高,但是IO占用率却不是一直升高

从流量可视化来看,也没有发现持续的读数据

Unified read pool CPU 持续跟这个MBps升高时间是一致的

  • 查下期间是否有应用或者服务,在通过tidb 的 sql 查询信息
  • 查下数据的 analyze 调度是否自动触发过

服务在白天是有使用的,但不可能夜间也持续这么高,我也对比了上周的数据,确实是异常升高,之前我也停止了所有的任务,但这个读IO依然很高

监控上的 QPS 和 Statement OPS 有什么区别?

QPS 会统计执行的所有 SQL 命令,包括 use database、load data、begin、commit、set、show、insert、select 等。

Statement OPS 只统计 select、update、insert 等业务相关的,所以 Statement OPS 的统计和业务比较相符。


按这个也查下


这一周的QPS似乎没什么变化,你说的 Statement OPS 我没有找到在哪儿

看下granafa监控 region是否一值在做平衡

平衡的话应该读写都升高吧

看下topsql是不是有性能劣化

可以看下监控TiKV-Details=>IO Breakdown面板,里面有详细的读写IO分类,整体加起来可能与磁盘这看到的还差一些,但是具有一定的参考意义

性能劣化都肉眼可见了 :sob:


这两天的数据,这个看起来很正常

那就优化这些sql看看,可能是sql执行计划异常导致的 :thinking:
看下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网卡流量是不是下降了。


这个么?好像IO还真不高

网卡流量怎么看的?这是ECS的监控