本文内容来自YashanDB官网,原文内容请见 https://doc.yashandb.com/yashandb/23.3/zh/%E6%95%B0%E6%8D%AE%...

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;

YashanDB
1 声望0 粉丝

崖山数据库系统YashanDB是深圳计算科学研究院自主设计研发的新型数据库管理系统,融入原创的有界计算、近似计算、并行可扩展和跨模融合计算理论,可满足金融、政企、能源等关键行业对高性能、高并发及高安全性的...