【 使用环境 】 测试环境
OBProxy, OceanBase数据库
【问题描述】清晰明确描述问题
我部署了一台OBProxy和由三个服务器组成的三节点集群。
OBProxy不是有负载均衡的功能吗,为什么一台占用的cpu,io资源非常高,其他的就比较少。
能不能配置成为平均的负载均衡
三台设备的cpu中有一台非常的高
有没有优化的命令啊,这是为什么主节点cpu那么高
我启动的守护只配置主节点地址这样是可以的嘛
【 使用环境 】 测试环境
OBProxy, OceanBase数据库
【问题描述】清晰明确描述问题
我部署了一台OBProxy和由三个服务器组成的三节点集群。
OBProxy不是有负载均衡的功能吗,为什么一台占用的cpu,io资源非常高,其他的就比较少。
能不能配置成为平均的负载均衡
三台设备的cpu中有一台非常的高
有没有优化的命令啊,这是为什么主节点cpu那么高
我启动的守护只配置主节点地址这样是可以的嘛
根据您的描述,您部署了一台OBProxy和由三个服务器组成的三节点集群。但是观察到一台服务器的CPU、IO资源使用率非常高,而其他两台则较低,希望了解如何配置为平均负载均衡。
OBProxy确实具备负载均衡的功能,它可以根据不同的策略(如随机、轮询等)将客户端请求分发给后端多个OceanBase数据库实例,以实现负载均衡。然而,实际效果受到多种因素的影响,例如:
检查并优化SQL语句:
EXPLAIN命令查看执行计划,确认是否存在全表扫描、大结果集排序等问题,并针对性地添加索引或调整查询逻辑。调整OBProxy配置:
session_keepalive_timeout),这可能会导致连接长时间绑定在某个节点上。适当减小该值有利于提高负载均衡效率。监控与诊断:
考虑增加OBProxy实例:
虽然OBProxy提供了基本的负载均衡机制,但要达到理想的均衡状态还需要结合具体情况采取相应措施。希望上述建议能帮助您解决问题。如果仍有疑问或遇到新的挑战,请继续向我们寻求支持。
更多信息请查看:
考虑下定期重启。
有大佬帮忙解释一下嘛
理论上是的
看下primary zone怎么设置的?
root@sys 连接执行
-- 1. 查看租户的 primary_zone 设置
SELECT tenant_name, primary_zone FROM oceanbase.DBA_OB_TENANTS;
-- 2. 查看 Leader 在各节点的分布(关键验证)
SELECT svr_ip, role, COUNT(*)
FROM oceanbase.CDB_OB_TABLE_LOCATIONS
WHERE role = 'LEADER'
GROUP BY svr_ip, role;
-- 3. 查看日志流 Leader 分布
SELECT tenant_id, ls_id, svr_ip, role
FROM oceanbase.GV$OB_LOG_STAT
WHERE role = 'LEADER';
可能是配置不太合适,需要调整吧