【 TiDB 使用环境】生产环境
【 TiDB 版本】5.4.3
我们在生产中部署的集群,内存占用感觉有点问题,有一台占用很少,这可能是什么问题或者怎么解决?
你这cpu怎么和过山车一样的,tidb做负载均衡了吗?
1 个赞
三节点混布,PD Leader所在的节点应该资源使用的相对多一些吧。
你可以看看,你的38服务器最近重启过,tikv的缓存被清理了,所以比其他2个tikv的内存占用小,运行一段时间后,基本就持平了
tikv的block cache这种缓存用上去,没超限制就不会还给操作系统,其他大佬也发现了,38重启过,再加上负载可能不平衡,比如tidb节点连接数不均导致,pd本身就是leader负载高。
过山车的cpu是TIFLASH节点
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分布不均匀导致的