写点什么

YashanDB 会话管理

作者:YashanDB
  • 2025-03-21
    广东
  • 本文字数:891 字

    阅读完需:约 3 分钟

本文内容来自 YashanDB 官网,原文内容请见 https://doc.yashandb.com/yashandb/23.3/zh/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%AE%A1%E7%90%86/%E4%BC%9A%E8%AF%9D%E5%92%8C%E8%AE%A1%E5%88%92%E7%AE%A1%E7%90%86/%E4%BC%9A%E8%AF%9D%E7%AE%A1%E7%90%86.html


YashanDB 会话管理在分布式环境下需要协调各节点间的会话资源,用以隔离用户对于 DN 上相关会话资源管理。主要在于会话管理采用线程池的方式处理来自客户端连接的任务,并且同时限制任务实际在数据库系统中的并发数量,以供数据库更加高效的运行。

配置参数



MAX_REACTOR_CHANNELS 表示负责监听处于等待状态的网络连接的后台线程,MAX_REACTOR_CHANNELS = 0 表示不启用 REACTOR 模式,每个客户端连接分配独立线程处理进行处理,MAX_REACTOR_CHANNELS >= 1 表示启用 REACTOR 模式,客户端连接采用共享线程池处理,共享线程池线程数量请参考参数 MAX_WORKERS。当并发量较大时,建议适当调大 MAX_REACTOR_CHANNELS。


MAX_REACTOR_CHANNELS 在分布式部署中的默认安装值为 1,若 MAX_WORKERS >= MAX_SESSIONS,对应的共享线程池线程数量 MAX_WORKERS 的值取两者中较小的值。


MAX_REACTOR_CHANNELS 在单机、集群部署中的默认安装值为 0,若 MAX_WORKERS >= MAX_SESSIONS,即使配置了该参数>=1,也不会起作用。


MAX_SESSIONS 表示最大可申请的会话数,包含一定数量的后台会话,要求单个 MN,DN 上的配置=各个 CN 上配置之和。


MAX_WORKERS 表示线程池的数量,即实际数据库中并行的最大任务数,要求单个 MN,DN 上的配置=各个 CN 上配置之和。


Note:

注意:处于事务中的客户端请求会一直占用共享线程,若超过共享线程数量的事务不提交,会阻塞其他连接的任务处理,若发生类似情况,请使用保留连接进行应急处理。


示例


show parameter MAX_REACTOR_CHANNELS;
show parameter MAX_SESSIONS;
show parameter MAX_WORKERS;
复制代码


相关视图



DV$SESSION 包含分布式各个节点上会话的相关信息,可通过 GLOBAL_SESSION_ID 字段建立各个节点间会话之间的联系。


DV$DATA_CONNECTION 包含各个 CN 上会话的相关信息,主要是 CN 和各个已建立连接的节点之间的关系。


示例(分布式部署)


SELECT * FROM DV$SESSION; SELECT * FROM DV$DATA_CONNECTION;
复制代码


发布于: 刚刚阅读数: 5
用户头像

YashanDB

关注

全自研国产新型大数据管理系统 2022-02-15 加入

还未添加个人简介

评论

发布
暂无评论
YashanDB会话管理_数据库_YashanDB_InfoQ写作社区