一个好的问题描述有利于社区小伙伴更快帮你定位到问题,高效解决你的问题
【TiDB 使用环境】生产环境
【TiDB 版本】7.5.6
【部署方式】云上部署(什么云)/机器部署
【操作系统/CPU 架构/芯片详情】
【机器部署详情】CPU大小/内存大小/磁盘大小
【集群数据量】
【集群节点数】3pd/5tidb/5tikv
【问题复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
tidb集群原先有3个tidb节点,CPU告警,扩容了2个tidb节点,但是新增的节点明显QPS/CPU较老节点低不少,这个有什么办法吗,还是说需要重启老的tidb节点?
谢谢
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【复制黏贴 ERROR 报错的日志】
【其他附件:截图/日志/监控】
克里克里克
(Ti D Ber H052ej9m)
2
得慢慢均衡吧。应用有连接池,也不会很快就均衡了的。
已经很久了,还是不够均衡,是SLB的问题吗,SLB转发到5个tidb节点
克里克里克
(Ti D Ber H052ej9m)
4
有可能排查一下看看,是什么策略,是否有权重设置。一般负载均衡的组件都类似。
另外,看看每个tidb的连接数是不是均衡。
连接数是均衡的,每个节点在330左右,每个节点权重是一样的
克里克里克
(Ti D Ber H052ej9m)
6
那可能针对slb来说连接就是均衡的了。
qps和CPU低,只能说明恰好分配过来的应用连接占用资源的少。
yg_2024
(yangguang)
7
业务低峰重启下老的tidb节点,这个办法是能想到的最简单快捷的办法。
1 个赞
纯白镇的小智
(Ti D Ber Qm Qja01 M)
8
PD 只管 TiKV Region/Leader 调度;PD 完全不管理 TiDB Server 之间的 SQL 流量、客户端连接分发。
看下活跃是不是均衡的,每个实例,查下cluster_processlist,多刷几次顺时的。如果不均衡,有可能是长连接,需要重启应用端
kang
11
建议先检查负载均衡策略。TiDB默认使用round-robin,但客户端连接池可能缓存了旧节点地址。
-
检查应用连接配置:确认使用TiDB proxy(如HAProxy、LVS)或TiDB-server的负载均衡。如果直接用JDBC连接,建议改用TiDB proxy做统一入口。
-
查看TiDB节点状态:执行show status like 'server_id'确认新节点正常注册。
独善其身
(Ti D Ber Bi Rqfz5 K)
12
PD 只管 TiKV 数据层的 Region/Leader 均衡,完全不会管 TiDB Server 计算层的连接、QPS、CPU 负载。
你新增 2 台 TiDB 但流量上不去、老节点满载、新节点空闲,根源 100% 是【应用连接池 / 四层代理长连接固化到老 3 台 TiDB】,新节点没有新建连接流入;单纯重启老 TiDB 只能临时释放存量连接,治标不治本。
负载均衡在负载均衡器/客户端侧,不是 TiDB 自动均分历史连接。把新节点加进 LB 后端并逐步切流;长连接不会自动迁走,可滚动重启老节点或重连池。确认新节点已加入集群且健康。