TIDB节点在压力大时,会导致磁盘IO直接占满,然后系统卡死

我的TIDB版本是v8.5.1,TIDB计算节点压力大的时候,IO会占满,然后CPU也会被吃满,最后现象就是系统卡死,最后只能强制重启,我纳闷的是,为什么TIDB计算节点会占用这么高IO?请问有什么解决办法吗?

系统版本信息:
Static hostname: tidb-node11
Icon name: computer-vm
Chassis: vm 🖴
Machine ID: 7bac63bb9b9f41f7878cd9f4dad721df
Boot ID: 89edc83e31354bfaaf27264f9d960cd4
Virtualization: kvm
Operating System: Rocky Linux 9.5 (Blue Onyx)
CPE OS Name: cpe:/o:rocky:rocky:9::baseos
Kernel: Linux 5.14.0-503.21.1.el9_5.x86_64
Architecture: x86-64
Hardware Vendor: Alibaba Cloud
Hardware Model: Alibaba Cloud ECS
Firmware Version: 2221b89

你的部署方式是什么样的?
多少台物理机、节点如何部署,几 pd 几tidb 几个 tikv?

【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面 你再发一下看看这个图

压力大,正常 SQL 吗,正常 SQL 代表你计算资源不够,如果不是正常 SQL ,先优化 SQL

计算节点压力大的时候,IO会占满
计算节点一般不用IO,你再看看是不是计算节点占用

是什么操作系统?rocky?

看一下销号资源多的sql

有没有混合部署?如果这个节点上只部署了tidb,没有部署pd和tikv,是不是有大查询?可以卡卡那dashboard里的慢查询语句。

计算节点是指的tidb-server节点吗?这个一般不怎么吃io的,它吃的是内存和cpu。。。

用的阿里云ECS部署,3TIKV,7TIDB,目前怀疑是慢SQL日志写太多导致,我现在把慢SQL日志关了,再观察

第一次见tidb节点比kv节点还多的,我猜资源都被慢sql占用了,优先优化慢sql吧。

我这边是在用作实时数仓,基本上全是慢SQL,很多计算节点都在跑数据

你这个olap场景非常建议上一个tiflash,查询速度会起飞。

上了两个的,部分热点表在用,但不能全用,配置不够高,容易把tiflash节点打挂掉

rocky linux 9

1 个赞

看一下业务的慢查询语句吧,处理好了会好点

这个处理不了,全是在做ETL、洗数据、BI报表复杂查询

建议加上tiflash节点试一下。

这可能是os的适配有问题,论坛上遇到过其他类似反馈。所以我第一时间感觉就是rocky。


尝试一下升级到 v9.1 及以上的场景~

1 个赞