【 使用环境 】 测试环境
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';
可能是配置不太合适,需要调整吧
应该可以
学习一下
primary zone是random还是啥

random
应该是热点表都在同一个节点造成的
有没有办法优化呀
你将上面另外两个sql的结果也发下吧
另外 分别在1006租户和1008租户 查询下sql请求流量
SELECT/*+ PARALLEL(15)*/t2.zone, t1.svr_ip, COUNT(*) AS QPS,
AVG(t1.elapsed_time), AVG(t1.queue_time)
FROM oceanbase.GV$OB_SQL_AUDIT t1, __all_server t2
WHERE t1.svr_ip = t2.svr_ip AND IS_EXECUTOR_RPC = 0
AND request_time > (time_to_usec(now()) - 1000000)
AND request_time < time_to_usec(now())
GROUP BY t1.svr_ip ORDER BY t2.zone;
666


确认下CPU高的节点 的 IP 是不是 192.168.90.6?
前面的sql流量查询下
以及这两条sql查询下
-- 1. 各租户的 tablet 在日志流间的分布
SELECT tenant_id, ls_id, COUNT(*)
FROM oceanbase.CDB_OB_TABLE_LOCATIONS
WHERE role = 'LEADER' AND tenant_id IN (1006, 1008)
GROUP BY tenant_id, ls_id;
-- 2. 均衡开关和调度周期
SHOW PARAMETERS LIKE 'enable_rebalance';
SHOW PARAMETERS LIKE 'partition_balance_schedule_interval';
-- 3.版本
show variables like '%version_comment%';