基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。
会话连接池
更新时间:2026-07-22 16:50:58
背景信息
ODP 自 V4.3.5 起支持会话级连接池功能,以应对业务在短连接场景下频繁与 ODP 新建连接,导致 ODP 频繁与多个 OBServer 节点建连带来的开销,提升业务短连接场景的并发性能。
注意事项
当出现以下任一情况时,会话连接池不可用。
客户端使用了 Service Name,Service Name 的具体介绍可参见 主备租户自动路由与读写分离。
ODP 配置项
server_protocol值为compressed mysql,可执行show proxyconfig like 'server_protocol';命令查看server_protocol配置项的值。客户端为 Oracle 租户。
客户端开启过分布式事务。
客户端与 ODP 间使用了 OceanBase 2.0 协议。
客户端使用了 SSL。
客户端请求为 BINLOG 请求。
版本限制
使用该功能需保证所用 ODP 为 V4.3.5 或之后版本,OceanBase 数据库为 V4.4.0 或之后版本。
使用
配置项
您可通过修改配置项 connection_pool_mode 控制会话连接池的启用,例如,执行如下命令启用连接池:
obclient> alter proxyconfig set connection_pool_mode='session';
ODP 中同时提供了如下几个配置项用于控制会话连接池的使用,建议保持默认值:
| 配置项 | 默认值 | 含义 |
|---|---|---|
| session_pool_idle_timeout | 5m | 用于设置会话空闲超时时间,即会话被放回连接池后可以保留的最大时长。 |
| session_pool_reset_interval | 10m | 于设置向连接池中未重置的会话发送 COM_RESET_CONNECTION 的时间间隔。 |
| session_pool_stat_log_interval | 1m | 用于设置会话连接池统计日志时间间隔。 |
运维命令
查看会话信息
您可使用
root用户登录集群的sys租户,执行SHOW GLOBALSESSION命令查看会话连接池中的会话信息,此处以查看指定租户的会话信息为例,具体命令介绍可参见 SHOW GLOBALSESSION。使用
root用户登录集群的sys租户:[admin@obtest ~]$ obclient -uroot@sys#obcluster -h10.10.10.1 -P2883 -p查看会话信息:
SHOW GLOBALSESSION ATTRIBUTE 'obcluster:test'\G输出如下:
*************************** 1. row *************************** dbkey_name: obcluster:test auth_user: admin@test#obcluster server_ip: 10.10.10.1:25706 local_ip: 10.10.10.2:35950 session_state: KEEP_ALIVE_GLOBAL_SHARED server_session_id: 3222004961 ss_id: 193 create_time: 2025-04-08 16:55:26.458191 last_release_time: 2025-04-08 16:55:38.803114 timeout_time: 2025-04-08 17:25:38.803114 *************************** 2. row *************************** dbkey_name: obcluster:test auth_user: admin@test#obcluster server_ip: 10.10.10.1:25704 local_ip: 10.10.10.2:33250 session_state: KEEP_ALIVE_GLOBAL_SHARED server_session_id: 3221679414 ss_id: 43 create_time: 2025-04-08 16:41:00.410908 last_release_time: 2025-04-08 16:55:38.803067 timeout_time: 2025-04-08 17:25:38.803067终止会话
您可使用
root用户登录集群的sys租户,执行KILL GLOBALSESSION命令终止会话连接池中的会话,此处以终止指定会话为例,具体命令介绍可参见 KILL GLOBALSESSION。使用
root用户登录集群的sys租户:[admin@obtest ~]$ obclient -uroot@sys#obcluster -h10.10.10.1 -P2883 -p终止会话:
KILL GLOBALSESSION 'obcluster:test' 193;示例中的
193为执行SHOW GLOBALSESSION命令查看会话时,输出中的ss_id,您可根据实际查看到的值进行替换。