管理实时会话
操作场景
实时会话功能提供当前数据库会话快照查询,并支持排序过滤展示。可基于用户、访问来源、数据库多维度统计会话数。
Kill会话能应对紧急实例恢复,保障数据库的可用性。当实例的连接数达到上限,无法正常登录时,可以查看和执行Kill会话的操作。
注意事项
Kill会话操作可能会导致业务断连,建议业务有重连机制,请谨慎操作。
约束限制
- 请务必在紧急情况下使用Kill会话功能,您的Kill操作将会以日志的形式被记录下来。
- rdsAdmin、rdsBackup、rdsMetric、rdsRepl等敏感用户以及用户名为 null 的会话禁止Kill和SQL限流,请知悉。
- 实时会话尽量使用较少资源,当实例负载较高时,频繁刷新会话列表可能会出现报错,请等待几秒后重新刷新。
- CPU打满情况下紧急Kill会话请求可能会下发失败,如遇到失败报错时请重复尝试。
操作步骤
- 登录管理控制台。
- 单击管理控制台左上角的
,选择区域。 - 单击页面左上角的
,选择“数据库 > 云数据库 RDS”,进入RDS信息页面。 - 在“实例管理”页面,选择目标实例,单击实例名称,进入实例的“概览”页签。
- 在左侧导航栏选择“智能DBA助手”下的“实时会话”。
- 在实时会话页面,可以进行如下操作。
- 查看会话统计结果
- 智能Kill会话
在会话列表,单击“智能Kill会话”,实例将按照以下规则来结束会话,使数据库恢复正常。
- 使用SQL限流功能需要安装rds_pg_sql_ccl插件,该插件是 RDS for PostgreSQL 自研的内核限流插件。
- 内置用户(rdsAdmin、rdsMetric、rdsRepl、rdsBackup)的SQL语句不受限流规则影响。
- SQL限流支持17.4、16.2、15.4、14.8、13.11、 12.15、11.20 及以上数据库引擎版本。
- 同步开启SQL限流和添加规则支持PostgreSQL 14及以上数据库引擎版本。
- Kill会话按以下策略执行:
- top3_exec_time:Kill执行时间最长的Top 3的SQL语句。
- top3_tran_time:Kill事务执行时间最长的Top 3的SQL语句。
- top3_count:Kill并发最高的Top 3的SQL语句(如果一个SQL同时执行的数量小于3,则不Kill)。
开启“同步开启SQL限流和添加规则”开关,会对执行时长Top 3、事务执行时长Top 3、并发数量Top3的SQL添加限流规则,限制最大并发数为10,最大等待时间为0s,如果该SQL语句已限流则不会再次添加限流规则; Kill会话结束后自动删除添加的限流规则。
设置智能Kill会话后,支持查看智能Kill会话历史,详见查看Kill会话历史。
图2 智能Kill会话
- Kill异常会话
在会话列表,根据实际运行状态和业务需求,选择异常进程,单击“Kill会话”,结束会话,使数据库恢复正常。
Kill会话后,支持查看手动Kill会话历史,详见查看Kill会话历史。
- 设置SQL限流
在会话列表,单击“SQL限流”,通过设置语句类型、关键字等匹配SQL语句,当所匹配的SQL语句超过设置的最大并发数时,数据库实例会拒绝执行此SQL。从而解决SQL并发数过高导致的实例不稳定问题。
更多内容,请参见新建SQL限流规则。
- 查看数据库CPU/内存占比情况




