OBProxy 路由策略与使用运维-常见问题

简介: OBProxy 路由策略与使用运维-常见问题

启动失败

机器是否存在 hostname :输入hostname -i, 确认host ip是否存在


目录是否存在,权限是否正确:确保当前目录下有读、写、执行的权限


端口是否被占用:使用obproxyd.sh启动OBProxy, 使用的端口为2883


启动环境是否指定正确:如果通过obproxyd.sh启动, 需要使用-e参数指定OBProxy运行环境


成功启动但无法建立连接

image.png

慢查询配置项及其修改方式

OBProxy 有自己的慢查询日志打印功能,通过 OBProxy 的以下两个配置项可控制打印到日志中的 SQL 或事务的处理时间阈值。


配置项

说明

slow_transaction_time_threshold

指慢查询或事务的整个生命周期的时间阈值,超过了该时间,就会打印相关日志。

slow_proxy_process_time_threshold

在发往 Server 前 Proxy 本身的处理时间,包括获取集群信息、路由信息、黑名单信息等。

在发往 Server 前 Proxy 本身的处理时间,包括获取集群信息、路由信息、黑名单信息等。

指从 OBProxy 获取 SQL 直到返回给客户端之前的这段时间的阈值,超过了该时间,也会打印相关日志。

一般修改配置项slow_transaction_time_threshold即可,配置项 slow_proxy_process_time_threshold默认值为 2ms,该值适用于绝大多数场景

obclient> ALTER PROXYCONFIG SET slow_transaction_time_threshold='100ms';

慢查询举例

SQL相关timeout设置

默认配置:

查询超时:ob_query_timeout(默认10s)


事务未提交超时ob_trx_timeout 默认100s)


事务空闲超时ob_trx_idle_timeout(默认120s)


常见超时原因:


连接闲置时间超时

客户端SQL执行耗时长


问题解决:


Ping to keep alive.

调优SQL or 调整timeout value


小结:

OBProxy作为OceanBase的高性能且易于运维的反向代理服务器,具有防连接闪断、OBServer宕机


或升级不影响客户端正常请求、兼容所有MySQL客户端、支持热升级和多集群功能


OBProxy核心功能包括路由、连接管理以及运维&&监控


OBProxy的部署方式可以分为集中部署和客户端部署


OBproxy可以通过RSList启动,也可以通过config_url启动,前者只可以管理特定的OB集群,后者可


以管理多个集群


OBProxy弱一致性读策略可以分为主备均衡的路由策略(默认)、备优先读策略、读写分离策略


OBProxy慢查询日志除了SQL本身之行的时间,还包括发送和接收数据消耗的网络延时


集中式部署的特点:集中式系统中,每个终端或客户端机器仅仅负责数据的录入和输出,而数据的存储与控制处理完全交由主机来完成。集中式系统最大的特点就是部署结构简单。由于集中式系统往往基于底层性能卓越的大型主机,因此无须考虑如何对服务进行多个节点的部署,也就不用考虑多个节点之间的分布式协作问题。


相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
5月前
|
人工智能 Linux API
阿里云/本地部署 OpenClaw+免费大模型API配置每日复盘机制:让AI Agent从错误中学习并实现自我进化
很多人使用AI Agent时都会遇到一个共性问题:任务执行后反馈完成,但实际并未达成目标;重复出现相同错误,无法从历史经验中吸取教训;多Agent协作混乱,缺乏统一行为准则,导致整体效率低下。这些问题的核心并非模型能力不足,而是缺少一套**主动复盘、经验沉淀、规则固化**的闭环机制。OpenClaw(原Clawdbot)通过构建每日自动复盘体系,让AI Agent实现真正意义上的自我进化,从被动执行转变为主动优化,持续提升任务执行准确率与自主性。本文将详细讲解OpenClaw复盘机制原理、实战配置、2026年阿里云与本地MacOS/Linux/Windows11部署流程、通义千问及Coding
528 0
|
机器人 项目管理 开发者
阿里云开发者社区博文发布操作和规则说明
在开发者社区发布博文的几点注意事项。
阿里云开发者社区博文发布操作和规则说明
|
SQL 监控 druid
事务未能正确提交导致Druid报错connection holder is null(2)
事务未能正确提交导致Druid报错connection holder is null(2)
1372 0
|
数据库 OceanBase 索引
OceanBase迁移服务(OMS)支持不同大小和复杂度的表的迁移
【2月更文挑战第25天】OceanBase迁移服务(OMS)支持不同大小和复杂度的表的迁移
558 3
|
存储 自然语言处理
为什么要有ASCII码?底层原理是什么?
为什么要有ASCII码?底层原理是什么?
1316 0
|
8月前
|
运维 负载均衡 自动驾驶
自动化运维卷到最后,都卷成了“智能决策”?——从脚本到AIOps的进化史
自动化运维卷到最后,都卷成了“智能决策”?——从脚本到AIOps的进化史
332 7
|
SQL Oracle 关系型数据库
python接口自动化(三十八)-python操作mysql数据库(详解)
现在的招聘要求对QA人员的要求越来越高,测试的一些基础知识就不必说了,来说测试知识以外的,会不会一门或者多门开发与语言,能不能读懂代码,会不会Linux,会不会搭建测试系统,会不会常用的数据库,会不会SQL等等,因此我们这篇文章来讲解如何用python语言操作mysql数据库。
458 0
python接口自动化(三十八)-python操作mysql数据库(详解)
|
存储 运维 监控
学习笔记(二) | OceanBase
Oceanbase数据库工程师认证学习笔记
2712 0
|
运维 Prometheus 监控
OceanBase 的运维与监控最佳实践
【8月更文第31天】随着分布式数据库解决方案的需求日益增长,OceanBase 作为一种高性能的分布式数据库系统,在众多场景下得到了广泛应用。为了确保 OceanBase 集群的稳定运行,合理的运维与监控是必不可少的。本文将探讨 OceanBase 的日常运维管理与监控策略,并提供相应的代码示例。
1074 2
|
机器学习/深度学习 人工智能 运维
智能运维:未来趋势下的自动化与人工智能融合
【8月更文挑战第18天】 在数字化浪潮中,智能运维(AIOps)作为一股不可逆转的力量,正逐步改写传统运维的脚本。本文将探讨AIOps的核心要素、实施路径和面临的挑战,同时分享个人从新手到专家的心路历程,旨在启发读者思考如何在这一领域内持续成长并作出贡献。
830 6