kv cpu突然暴涨

【 TiDB 使用环境】生产环境
【 TiDB 版本】8.1
某一台kv cpu暴涨,导致服务延迟过大,过一段时间又好了。如果排查这样的情况

top sql看下这个节点什么sql资源消耗多

2 个赞

1.使用Grafana监控面板查看CPU使用率、查询延迟等关键指标的历史数据。重点关注:
TiKV-Details面板中的Thread CPU/gRPC CPU Per Thread指标
TiKV-Details面板中的Thread CPU/raft store CPU和Async apply CPU指标
KV Cmd Duration指标
2.检查TiKV日志文件,查找可能的错误信息或异常。
3.使用Top SQL功能识别在CPU暴涨期间消耗资源最多的SQL语句。

grafana看看tikv cpu的详细监控

dashboard的top sql可以直接选这个TiKV看哪些SQL占用CPU高、

一般就是有资源消耗很大的sql在执行

cpu突然暴涨,过会自己恢复,一般是有大sql耗资源导致的,分析下这段时间的慢sql

看下对应时间段是否有慢sql

突然刺尖,可能是由慢查询导致

top sql 功能 :v:

1 个赞

登陆到tidbserver上可以看下slow日志

TOP sql 看对应的那个tikv的sql

某一台tidb/tikv的问题,推荐使用top sql页面。

https://docs.pingcap.com/zh/tidb/stable/top-sql

1、top sql看看消耗高的sql,进行优化。
2、查看磁盘IO是否过高。

dashboard中的top sql可以看到消耗cpu最高的5个SQL,以及慢日志看下,正常是有消耗CPU大的慢SQL在执行导致的

  1. 查看监控指标
  • 检查TiDB集群的监控系统(如Prometheus和Grafana),观察CPU使用率、请求延迟、QPS等关键指标的变化趋势。
  • 确定CPU使用率暴涨的具体时间点,并查看是否有其他相关的异常指标。
  1. 检查TiKV日志
  • 查看对应TiKV节点的日志文件,搜索错误日志或警告信息,可能会有导致CPU使用率上升的直接原因。
  1. 分析慢查询
  • 如果有慢查询日志,分析在CPU使用率高的时间段内是否有大量的慢查询发生。
  1. 检查资源使用情况
  • 使用tophtopvmstatiostat等工具检查系统资源使用情况,包括CPU、内存、磁盘I/O等,以确定是否有资源瓶颈。
  1. 检查线程和进程
  • 使用pspstackgdb等工具查看TiKV进程中的线程状态,分析是否有线程卡在某个操作上。
  1. 分析GC(垃圾回收)情况
  • 对于Go语言编写的TiKV,检查GC的频率和耗时,长时间或频繁的GC可能会影响性能。
  1. 检查配置参数
  • 检查TiKV的配置文件,确认是否有不当的配置可能导致性能问题。
  1. 检查集群负载
  • 分析集群的负载分布是否均衡,是否有热点问题导致单个节点负载过高。
  1. 检查网络状况
  • 使用iftoptcpdump等工具检查网络流量,确认是否有网络瓶颈或异常流量。
  1. 检查磁盘健康状态
  • 使用smartctl等工具检查磁盘的SMART状态,确认磁盘没有硬件问题。
  1. 分析Raft日志
  • 如果怀疑是Raft协议相关的问题,可以分析Raft日志来确定是否有异常的Raft操作。
  1. 重启服务
  • 如果确定没有更好的解决方案,并且问题不再频繁发生,可以考虑重启TiKV服务来恢复服务。
1 个赞