GaussDB-会话管理
操作场景
在数据库中,会话是用户与数据库之间的交互过程,本节描述如何通过会话管理功能诊断并优化数据库性能。
会话管理模块提供会话查询(查询实时会话)和会话终止(终止指定会话、终止空闲会话)功能。
会话查询可以全面地展示会话的详细信息,为用户查询会话提供方便。会话查询可以帮助用户:
- 监控数据库性能:通过查询会话,可以了解当前数据库中正在运行的会话数量、会话的执行状态、会话的执行时间等信息,从而监控数据库的性能状况,及时发现并解决性能问题。
- 诊断数据库问题:通过查询会话,可以了解当前数据库中正在运行的会话的执行情况,包括执行的SQL语句、等待事件、执行时间等信息,从而帮助诊断数据库问题,定位问题原因。
- 防止未授权的访问和操作:通过查询会话,可以了解当前数据库中正在运行的会话的来源、权限等信息,从而维护数据库的安全性。
会话终止可以终止一个正在运行的会话。会话终止操作可以帮助用户:
- 释放资源:当一个会话长时间运行或者占用了过多的资源,可能会导致数据库性能下降,甚至崩溃。通过kill session可以及时释放这些资源,保证数据库的正常运行。
- 解决死锁:当多个会话同时请求同一个资源,可能会出现死锁的情况。通过kill session可以终止其中一个会话,解决死锁问题。
- 防止数据库权限滥用:有时候,用户可能会滥用数据库权限,通过kill session可以及时终止这些滥用行为,保证数据库的安全。
综上所述,会话管理在数据库运维中具有重要的意义,可以帮助管理员诊断和优化数据库性能,维护数据库安全。
前提条件
- 查询实时会话需要获取实时会话权限。
- 终止会话需要具有结束会话权限。
- 终止空闲会话需要具有结束空闲会话权限。
约束限制
-
分布式版实例,需保证第一个节点组中存在一个含有CN组件且状态正常的非日志节点。主备版实例,需保证存在一个状态正常且为非日志节点的主节点。
-
会话查询功能获取的是非系统内置用户(rdsAdmin,rdsMetric, rdsBackup, rdsRepl,dbmind_monitor_agent,dbmind_monitor)产生的用户会话。
-
会话查询功能只能监控到有IP地址连接的会话,即用户连接数据库时需通过**-h hostname**参数指明客户端IP地址。
如:gsql -d postgres -h 127...1 -p 8000 -U username -W password。
操作步骤
-
单击具体实例名称,进入“实例管理”详情页。
-
单击“诊断优化 > 会话管理”,显示“会话管理”页面。
-
实时会话是按照“节点_组件”的维度查询的,选择不同的“节点_组件”ID的组合,可以获取到当前“节点_组件”下的实时会话。
搜索框中选择“数据库”、“客户端IP”或“用户名”可进行过滤筛选。
图1 查询实时会话
参数名称 参数解释 会话ID 会话ID。 线程ID 后台线程ID。 SQL ID 语句的unique sql id。 数据库 用户会话在后台连接到的数据库名称。 客户端IP 连接到该后台的客户端的IP地址。 用户名 登录该后台的用户名。 是否等待 如果后台当前正等待锁则为“true”,否则为“false”。 阻塞会话 阻塞当前线程获取锁的会话标识。 等待事件 当前线程正在等待的事件。 状态 该会话当前总体状态。可能值是:- active:后台正在执行一个查询。 - idle:后台正在等待一个新的客户端命令。
- idle in transaction:后台在事务中,但事务中没有语句在执行。
- fastpath function call:后台正在执行一个fast-path函数。
- disabled:如果后台禁用track_activities,则报告这个状态。 | | 事务数 | 会话建立事务的数量。 | | 回滚次数 | 会话中事务回滚的次数。 | | SQL数 | 会话执行的SQL数。 | | 会话建立时长 | 会话建立时长(单位:秒)。 | | 语句执行时间 | 语句的执行时间。 | | SQL文本 | 该后台的最新查询。 | | 会话开始时间 | 该过程开始的时间,即当客户端连接服务器的时间。 | | 事务开始时间 | 启动当前事务的时间。 | | 语句开始时间 | 开始当前活跃查询的时间。 | | 应用名称 | 连接到该后台的应用名。 |
-
勾选会话列表左侧复选框,可以选中任意数量会话,单击“查杀指定会话”,会终止选定的会话。
图2 查杀会话
-
输入“confirm”后单击“确认”,查杀所选会话。
-
单击“查杀所有空闲会话”,会查杀当前所有“状态”为“idle”的空闲会话。
图3 查杀所有空闲会话
-
输入“confirm”后单击“确认”,查杀所有空闲会话。
更多详情请参考GaussDB 文档中心:doc.hcs.huawei.com/db/zh-cn/ga…