更新时间:2026-04-13 GMT+08:00
分享

管理实时会话

操作场景

实时会话功能提供当前数据库会话快照查询,并支持排序过滤展示。可基于用户、访问主机、数据库多维度快速过滤识别到自定义慢SQL会话、活跃会话等。Kill会话能应对紧急实例恢复,保障数据库的可用性。

注意事项

Kill会话操作可能会导致业务断连,建议业务有重连机制,请谨慎操作。

操作步骤

  1. 单击管理控制台左上角的,选择区域。
  2. 单击页面左上角的,选择“数据库 > 云数据库 RDS”,进入RDS信息页面。
  3. 在“实例管理”页面,选择目标实例,单击实例名称,进入实例的“概览”页签。
  4. 在左侧导航栏选择“智能DBA助手”下的“实时会话”。
  5. 在“实时会话”页面,可以进行如下操作。

    • 查看会话统计结果

      在会话统计信息区域,可以查看会话概要(如慢会话数、活跃会话数、会话总数和长事务会话)分别按照用户、访问主机和数据库维度统计的会话结果。

      图1 实时会话
    • 设置慢会话阈值
      在页面上方的“慢会话阈值”处,单击,在弹框中按需设置慢会话阈值时间,单击“确定”。页面自动刷新筛选出大于该阈值的会话列表。
      图2 设置慢会话阈值
    • Kill异常会话

      在会话列表,可以查看会话详情,也可以根据实际运行状态和业务需求,选择异常会话,单击“Kill会话”,结束会话,使数据库恢复正常。

      批量Kill会话时,一次性最多选择100条会话。

      图3 Kill会话
    • 一键Kill会话

      在会话列表,根据实际运行状态,单击“一键Kill会话”,实例将按照以下规则来结束会话,使数据库恢复正常,该操作有误删除会话的风险,请谨慎操作。

      按执行时长倒序取前1000个会话,仅选取其中的SELECT类型会话,对每个会话提取关键字,将关键字相同的会话分为一组,按以下策略执行:

      • top3_time:以每组内会话最长的执行时长排序,取Top3的组Kill。
      • top3_count:以每组内会话数量排序,取Top3的组Kill。
      • top3_avg_time:以每组内会话平均执行时长排序,取Top3的组Kill。
      • Kill会话时会Kill组内所有会话,即使会话命中多个条件也仅Kill一次。

      对于符合上述规则的会话关键字,可同步添加限流规则,生成的限流规则具有时效性,持续一定时间后会自动删除,具体添加限流的规则如下:对平均执行时长Top3的组(限制并发数为会话数量 * 0.3)、会话数量Top3的组(限流数量为会话数量 * 0.5)进行限流,如果该组关键字已限流则向后顺延,每次最多限流6个组。

      支持查看当前时刻符合规则的待Kill会话,以及能够设置的SQL限流规则。

      图4 一键Kill会话
    • 设置SQL限流

      在会话列表,单击“SQL限流”,通过设置语句类型、关键字等匹配SQL语句,当所匹配的SQL语句超过设置的最大并发数时,数据库实例会拒绝执行此SQL。从而解决SQL并发数过高导致的实例不稳定问题。

      更多内容,请参见新建SQL限流规则

    • 创建锁分析

      创建锁分析前,需要先在“锁&事务”页面登录数据库实例,详见管理锁&事务

      在会话列表,单击“创建锁分析”,会生成一条锁分析数据,用于查看是否存在持有锁的会话。

    • 导出会话列表

      在会话列表,单击“导出”,可以选择导出全部会话列表,或者导出指定会话列表到表格中。

查看Kill会话历史

在实时会话页面,单击“一键Kill会话历史”,查看一键Kill会话的操作历史,并支持下载实例级别近3天的历史记录。

图5 查看Kill会话历史

相关文档