数据库性能每个整点有周期性波动

为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:
【 TiDB 使用环境】

【概述】 场景 + 问题概述
最近发现数据库的duration、Transaction Duration和KV Cmd Duration 有周期性的上涨,每小时的56分左右开始02分左右结束持续六七分钟,非常有规律,查了下sql统计又没有这种规律性波动,请问我应该怎么排查问题
【背景】 做过哪些操作

【现象】 业务和数据库现象





【问题】 当前遇到的问题

【业务影响】

【TiDB 版本】
4.0.9
【应用软件及版本】

【附件】 相关日志及配置信息

  • TiUP Cluster Display 信息
  • TiUP CLuster Edit config 信息

监控(https://metricstool.pingcap.com/)

  • TiDB-Overview Grafana监控
  • TiDB Grafana 监控
  • TiKV Grafana 监控
  • PD Grafana 监控
  • 对应模块日志(包含问题前后 1 小时日志)

若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。

binlog的读写也波动很大

dashboard看看慢查询吧,确认下是不是真的没有sql在定时执行

这个是第一个就确定的 没有每小时的定时计划

看看慢查询吧,有没有analyze,或expensive sql

select * from mysql.tidb看下GC和时间对应吗

这个gc是10分钟一次吗

10分钟一次,清理24小时前的。

1、看下tidb.log里在那个时间点附近有什么操作。可以在tidb server监控看按 server的duration指标 是哪个server升高了
2、 看看tikv detail里的指标有哪些有类似的突增

我们之前遇到的是会有第三方定时抽取数据。本身系统是没有定时作业,但是第三方有。

我这边binlog服务器也会有周期性读写 抽取数据不会产生binlog吧

日志没发现和其他时间段不一样的操作 tikv里有个commit的Scheduler keys written有类似的周期规律

[图片]

你这是普通sata盘吧

阿里云的essd pl3的

keys writen说明有写入,但是这量也很低,感觉你的磁盘性能有问题,至于周期写入还是查SQL和有啥任务吧

1 个赞

但是我总的sql统计 就看不出来这种周期性的波动

b不一定是SQL执行次数变化,可能是数据量有变化, qps里set有点高,看下是不是应用连接是有设置autocommit类参数

看看慢的时候的raft-rocsdb 的指标有没有慢,比如说写wal。看看那时候有没有compact
另外确定下,你的机器上有没有其他业务混布。

这个指标看起来没啥问题,我们数据库服务器是独立的不会混合部署

如果不连应用也这样。那么才是数据库本身的问题。
否则可能还是应用造成的。排除法