obproxy分流问题

【 使用环境 】生产环境
【 OB or 其他组件 】OB
【 使用版本 】4.2.2.1
【问题描述】

Total DISK READ : 178.98 M/s | Total DISK WRITE : 24.76 M/s
Actual DISK READ: 178.128.01 | Actual DISK WRITE: 21.62 M/s
611484 ?sys root 10.61 M/s 3.50 K/s observer -p 2881 [IO_SCHEDULE0]

Total DISK READ : 3.61 M/s | Total DISK WRITE : 6.96 M/s
Actual DISK READ: 3.941.19 | Actual DISK WRITE: 7.61 M/s

Total DISK READ : 6.83 M/s | Total DISK WRITE : 6.19 M/s
Actual DISK READ: 6.78 M27 | Actual DISK WRITE: 6.91 M/s

租户已调整
SET GLOBAL ob_read_consistency = WEAK;

obproxy已调整
obclient [(none)]> SHOW PROXYCONFIG LIKE ‘proxy_route_policy’;
±-------------------±---------------±-------------------±------------±--------------+
| name | value | info | need_reboot | visible_level |
±-------------------±---------------±-------------------±------------±--------------+
| proxy_route_policy | follower_first | proxy route policy | false | SYS |
±-------------------±---------------±-------------------±------------±--------------+

为何分流效果还是查

@论坛小助手

针对您的问题,可以使用 obdiag 工具来收集相关日志,以帮助我们分析读请求分流效果不佳的具体原因。下面是推荐使用的命令:

日志采集场景: SQL性能问题
日志采集命令: obdiag gather scene run --scene=observer.perf_sql --env “{db_connect=’-h127.0.0.1 -P2881 -utest@test -p****** -Dtest’, trace_id=‘Yxx’}”

请按照上述命令进行日志采集,并将采集到的日志提供给我们,以便我们能够进一步分析问题所在。同时,为了更好地了解情况并为您提供有效的帮助,请您回答以下问题:

  1. 您设置全局读一致性和OBProxy路由策略后,是否重启过OBProxy或OceanBase服务?
  2. 在您的应用场景中,读写请求的比例是多少?
  3. 您是否有观察到特定时间点的性能下降?如果有,是在哪个时间段?
  4. 当前集群中,leader和follower节点的分布情况是怎样的?
  5. 能否分享一下您当前OBProxy和OceanBase的详细配置信息?
  6. 是否存在某些特定查询导致了读请求分流效果不佳的情况?

感谢您的配合,期待您的回复。

附上敏捷诊断工具 obdiag 使用帮助链接

1.未重启过obproxy
2.大概50比1
3.无
4.平均的
5.需要哪些信息
6.都停不均衡的

需要考虑集群架构;业务读写比例;验证读写分离是否生效;是否配置负载均衡

当前是111架构
确实业务上读比写多很多,写全部是爬虫重复批量写,qps确实是均衡负载了,但是磁盘IO 3台质检差距很大

io差距大应该是读写比例差距导致的。ob里 leader节点承担读写,followe只读。看下io大的是不是租户的leader

看一下这个参数obproxy_read_consistency

不是呢,我是三台读差距很大。

已经改为follower_first了

你client连接的是obproxy集群的访问地址?不是负载VIP吧

ODP架构是啥样的,是否有做负载均衡LB