更新时间:2026-05-28 GMT+08:00
分享

管理TaurusDB实时会话

操作场景

数据库管理中,当系统性能出现异常时,管理员需要快速定位问题。TaurusDB支持在实时会话页面设置慢会话阈值、查看实例当前会话统计结果,并识别异常会话。您可以手动Kill会话或根据Kill规则智能Kill会话,也可以对会话进行根因分析,识别阻塞会话信息,从而提高系统性能和管理效率。

前提条件

开启根因分析需要修改“performance_schema”参数值为“ON”,详细内容请参见修改TaurusDB实例参数。开启后可在会话列表中使用根因分析能力。

约束限制

开启根因分析功能后,需要重启实例,而重启将导致当前所有会话被终止。因此,该功能仅能分析开启后新出现的阻塞会话,无法分析开启前已存在的阻塞会话。

手动Kill会话、智能Kill会话、自动kill会话的区别

表1 Kill会话、智能Kill会话、自动kill会话的区别

Kill会话的方式

含义

入口位置

手动Kill会话

根据设置的慢会话阈值,页面自动刷新筛选出大于该阈值的慢会话列表。手动选择需要Kill的异常会话,结束会话。

智能DBA助手-实时会话

智能Kill会话

按照智能Kill会话规则判断满足条件的会话,自动kill排名前三的组内的所有会话。

智能DBA助手-实时会话

自动Kill会话

创建Kill会话任务,当满足Kill会话条件时,会自动触发Kill会话操作。

智能DBA助手-SQL分析与优化-自动Kill会话

设置慢会话阈值

  1. 登录TaurusDB管理控制台
  2. 单击管理控制台左上角的,选择区域和项目。
  3. 在“实例管理”页面,选择目标TaurusDB实例,单击实例名称,进入“实例概览”页面。
  4. 在左侧导航栏选择“智能DBA助手”下的“实时会话”。
  5. 在会话统计信息区域,可以查看会话概要(如慢会话、活跃会话、会话总数和长事务会话)分别按照用户、访问主机和数据库维度统计的会话结果。

    图1 实时会话

  6. 在页面上方的“慢会话阈值”处,单击,在弹框中按需设置慢会话阈值,单击“确定”。页面自动刷新筛选出执行时间大于该阈值的慢会话列表。

    图2 设置慢会话阈值

  7. 在“会话列表”模块,可以查看会话详情。

管理会话列表

  1. 登录TaurusDB管理控制台
  2. 单击管理控制台左上角的,选择区域和项目。
  3. 在“实例管理”页面,选择目标TaurusDB实例,单击实例名称,进入“实例概览”页面。
  4. 在左侧导航栏选择“智能DBA助手”下的“实时会话”。
  5. 在“会话列表”模块,可进行如下操作。

    • 手动kill会话

      您可以单击操作列的“Kill会话”,结束会话,使数据库恢复正常。

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

      图3 手动kill会话
    • 根因分析

      您可以单击操作列的“根因分析”,弹框中展示被阻塞的会话信息及根因SQL。

      当阻塞会话信息的命令为“Sleep”时,会从performance_schema.events_statements_history表中回溯并展示历史SQL;其他情况下,则显示阻塞该会话的SQL。

      图4 根因分析
      图5 根因分析结果

智能Kill会话

  1. 登录TaurusDB管理控制台
  2. 单击管理控制台左上角的,选择区域和项目。
  3. 在“实例管理”页面,选择目标TaurusDB实例,单击实例名称,进入“实例概览”页面。
  4. 在左侧导航栏选择“智能DBA助手”下的“实时会话”。
  5. 在“会话列表”模块,单击“智能Kill会话”,弹框中单击“Kill会话实时统计结果预览”,查看当前时刻下符合被Kill的会话ID、SQL关键字等信息,预览非最终Kill结果,仅为当前时刻统计数据。

    智能Kill会话规则

    系统按照执行时长降序取前1000个会话,仅选取其中的SELECT类型会话,每个会话自动提取SQL语句中的关键字,关键字相同的会话分为一组,判断每组会话是否满足top3_time、top3_count、top3_avg_time策略,取Top 3的组自动Kill会话。
    • top3_time:以每组内会话最长的执行时长排序,取Top 3的组kill。
    • top3_count:以每组内会话数量排序,取Top 3的组kill。
    • top3_avg_time:以每组内会话平均执行时长排序,取Top 3的组kill。

    智能Kill时会Kill组内所有会话,即使会话同时满足top3_time、top3_count、top3_avg_time中的多个条件,也只会执行一次Kill操作。

  6. 确认无误,单击“确定”,系统会自动kill符合智能规则的会话。
  7. 如需查看Kill会话历史,您可以在“会话列表”模块,单击“智能Kill会话历史”,查看符合智能Kill会话规则且已被结束的会话。

    最多可查询30天内的智能kill会话历史,超出30天的数据将被自动清理。
    图6 智能Kill会话历史

    单击操作列的“下载”,压缩包里包含3个文件,分别是killed_sessions_xxxx,rules_xxxx和sessions_xxxx。

    • killed_sessions_xxxx:已被Kill的会话信息。
    • rules_xxxx:智能kill会话的规则。
    • sessions_xxxx:按照执行时长降序取前1000个SELECT类型的会话信息。

导出会话信息

  1. 登录TaurusDB管理控制台
  2. 单击管理控制台左上角的,选择区域和项目。
  3. 在“实例管理”页面,选择目标TaurusDB实例,单击实例名称,进入“实例概览”页面。
  4. 在左侧导航栏选择“智能DBA助手”下的“实时会话”。
  5. 在“会话列表”模块,可以导出部分会话或全部会话。

    图7 导出会话信息
    • 导出部分会话

      选择会话,单击“导出已选中数据”,可以导出指定会话信息到表格中。导出任务执行完成后,您可在本地查看到一个“.csv”文件。

    • 导出全部会话

      选择“导出全部数据 > 收集”,待实时会话信息收集完成后,选择“导出全部数据 > 下载”,可导出全部会话信息到表格中。导出任务执行完成后,您可在本地查看到一个“.csv”文件。

      导出全部数据时,最多支持导出1000000条会话信息。

相关文档