为什么部署的三台主机的内存分布不均匀?

【 TiDB 使用环境】生产环境
【 TiDB 版本】5.4.3
我们在生产中部署的集群,内存占用感觉有点问题,有一台占用很少,这可能是什么问题或者怎么解决?


你这cpu怎么和过山车一样的,tidb做负载均衡了吗?

1 个赞

三节点混布,PD Leader所在的节点应该资源使用的相对多一些吧。

你可以看看,你的38服务器最近重启过,tikv的缓存被清理了,所以比其他2个tikv的内存占用小,运行一段时间后,基本就持平了

tikv的block cache这种缓存用上去,没超限制就不会还给操作系统,其他大佬也发现了,38重启过,再加上负载可能不平衡,比如tidb节点连接数不均导致,pd本身就是leader负载高。

过山车的cpu是TIFLASH节点 :joy:

tidb 和 pd 可以放到一起

tikv 单独部署 一个节点一个机器,不要混部

看下主机列表的资源情况~

混合部署资源不可能均匀的,问题多多。

CPU飙升的时候,上机器看下哪个进程占用的多
目测是一些大查询

我猜测是你的业务负载到某一个tidb上了,导致对应机器上的内存使用特别多。

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

进topsql页面,分别看看执行的sql是否差不多?我感觉应该差异挺大的,业务可能分的不太均匀。从负载均衡软件上看,连接数平均嘛?

混合部署tikv内存会逐渐增大直到上限,tidb可能有大的查询会突然增大很多

应该史混布导致的,不建议混布

混合部署的话 对 tidb 和 tikv 做了资源控制了么?

到每个节点用top 命令再shift+m 看下内存使用排序,三节点对比一下,就应该能知道内存差在哪个功能组件上了?

应该是REGION的LEADER分布不均匀导致的