#会话资源控制
通过限制用户可以同时拥有的会话数,并设定空闲会话保留时间上限,可以有效防止会话劫持或权限提升攻击,防止长期空闲的会话被恶意利用。另外,及时释放空闲会话能够节省数据库的资源,助力系统在高负载或高并发场景下仍能保持较高的可用性和稳定性。
YashanDB基于用户配置文件profile实现会话资源控制,通过关联user和profile来指定相应限制具体对哪些用户生效。
执行CREATE PROFILE和ALTER PROFILE语句可以配置会话资源阈值。
执行CREATE USER或ALTER USER语句可以关联user与profile,即配置会话资源阈值的生效用户。
# 并行会话数SESSIONS_PER_USER
并行会话数,即某个用户最多可以创建的并行会话连接数,通过SESSIONS_PER_USER参数进行配置,默认不限制。
# 空闲会话保留时间IDLE_TIME
超过一定时间没有操作的会话(即空闲会话)会自动断开连接,空闲会话的保留时间上限通过IDLE_TIME参数进行配置,单位为分钟,默认不限制。
后台线程每隔10秒进行一次检测并断开长时间空闲会话,因此用户最长连续空闲的时间至多可比该用户的对应阈值多10秒。

