操作场景
实时会话为 TDSQL Boundless(TDStore 引擎) 实例提供活跃会话与执行 SQL 的实时观测能力,帮助用户快速识别长时间执行的会话、堆积的活跃事务,以及来自指定客户端的异常请求。
适用场景
业务侧反馈数据库响应变慢时,第一时间查看当前活跃会话的执行情况。
出现 CPU/会话告警时,配合异常诊断快速定位长事务、慢查询。
排查应用连接异常时,根据来源 Host 和 User 识别具体客户端。
需要紧急释放数据库压力时,针对性结束异常会话。
背景信息
实时会话页主要展示以下三类数据:
SQL 统计:按 SQL 模板维度展示执行次数与平均耗时,用于识别短时间内高频执行的 SQL。
性能监控:以折线图形式展示活跃线程数、CPU 最大使用率、连接数使用率等指标的最新趋势,便于与会话列表互相印证。
活跃会话:以表格形式列出实例上当前的全部活跃会话,包括会话 ID、用户、来源 Host、目标库、命令、已执行时长、状态、SQL 片段等信息。
实例的活跃会话已在底层默认过滤掉 Sleep、Daemon 等非活跃会话,并按已执行时长降序排列,便于优先关注高耗时会话。
实现机制
实时会话页内的活跃会话来自实例级的会话视图。页面顶部提供刷新间隔下拉框:
默认开启自动刷新,默认刷新间隔为15 秒,刷新间隔支持5 秒、15 秒、30 秒三档可选。
支持关闭自动刷新。
每次刷新会同步更新 SQL 统计、性能监控与活跃会话列表三个区域,保持数据一致。
执行结束的会话会自动从列表中移除。
使用限制
单次返回条数:活跃会话列表单次最多返回 100 条,可在限制 20 条、50 条、100 条三档之间切换,超出部分需通过缩小筛选条件后再次查询。
Kill 权限:结束会话操作需要当前账号具备实例的会话管理权限。
注意事项
结束会话操作会立即终止目标会话正在执行的 SQL 与事务,未提交的事务将回滚。请在确认目标会话确为异常会话后再执行该操作。
同一应用的多条数据库连接会以独立会话形式出现在列表中,结束某一会话不会影响该应用的其他连接。
前提条件
已在 DBbrain 中接入 TDSQL Boundless 实例。
当前账号对该实例具备 DBbrain 查看权限。
如需结束会话,需具备会话管理权限。
操作步骤
查看实时会话
1. 登录 DBbrain 控制台。
2. 在左侧导航栏选择 诊断优化。
3. 在页面顶部依次选择数据库类型为 TDSQL Boundless,并选择目标实例 ID。
4. 单击实时会话页签。
5. 选择页面刷新频率。支持选择5秒、15秒、30秒,默认15秒,并支持停止刷新。
6. 查看 SQL 统计、会话统计、活跃会话、性能监控信息。
说明:
SQL 统计及会话统计与下方活跃会话数据联动一致。

查看 SQL 统计信息
选择 SQL 统计页签,选择统计项(包括执行次数、总耗时、最大执行时间、平均执行时间),实时统计执行的 SQL 语句不同维度的数据信息。
在 SQL 统计列表中单击目标 SQL 行的 SQL 优化,页面右侧将弹出分析页面,提供该 SQL 模板的多维度分析视图。

页面提供以下三个分析维度:
Tab | 说明 |
SQL 模板 | 展示参数化处理后的 SQL 模板原文,可作为定位与归并 SQL 的依据。 | |
SQL 样例 | 展示该模板的一条代表性具体 SQL 语句(参数为真实值),可作为执行计划分析与复现的输入。 | |
执行计划 | 基于 SQL 样例生成的执行计划,包含执行计划表与可视化分析两个区域。 执行计划表:以表格形式展示执行计划的关键字段,列含义如下: SQL:当前分析所依据的 SQL 样例语句。 table:当前步骤涉及的数据表。 filtered:经过 WHERE 过滤后预计返回行数所占百分比。 id:执行计划中各步骤的标识号,标识各操作的执行顺序。 key_len:实际使用索引的长度(字节)。 partitions:涉及的分区。 select_type:当前查询步骤的类型,例如 `SIMPLE`、`PRIMARY`、`SUBQUERY` 等。 type:关联类型或访问方式,例如 `ALL`、`index`、`range`、`ref` 等。 extra:额外的执行信息,例如 `No tables used`、`Using index`、`Using filesort` 等。 key:实际使用的索引名。 possible_keys:优化器评估时考虑使用的候选索引。 可视化分析:以图形化方式呈现执行计划的查询块(query_block)结构与各步骤之间的关系,方便快速识别执行瓶颈所在的子查询块。 |
如需关闭分析视图,单击抽屉右上角的关闭按钮。
查看、下载会话统计信息
选择会话统计页签,选择统计项(包括用户、访问来源、数据库),统计实时会话不同维度的数据信息。
查看活跃会话
6.1.1 选择活跃会话页签。
6.1.2 选择会话列表显示条数:包括限制20条、50条或100条,默认限制20条。
6.1.3 单击字段筛选,设置以下条件,查看实时会话。
6.1.4 根据筛选条件查看筛选出的实时会话。
会话列表字段说明如下表所示。
字段 | 说明 |
ID | 会话连接的唯一标识符,对应 MySQL 的 PROCESSLIST_ID。 |
USER | 发起该会话连接的数据库用户名。 |
HOST | 发起连接的客户端 IP 地址。 |
STATE | 会话当前的执行状态(如 creating table、Sending data、Locked 等)。 |
DB | 会话当前使用的数据库名称。 |
COMMAND | SQL 命令类型,包括 ALL、Not Sleep、其他。 ALL Not Sleep 其他:包括 Binlog Dump、Change user、Close stmt、Connect、Connect Out、Create DB、Daemon、Debug、Delayed insert、Drop DB、Error、Execute、Fetch、Field List、Init DB、Kill、Long Data、Ping、Prepare、Processlist、Query、Quit、Refresh、Register Slave、Reset stmt、Set option、Shutdown、Sleep、Statistics、Table Dump、Time。 |
INFO | 会话正在执行的 SQL 语句内容。 |
TIME | 会话已持续的时间,单位:秒。 |
6.1.5 (可选)在列表上方右侧单击
,下载格式为 .csv 的实时会话列表。

查看性能监控数据
进入实时会话页面,在性能监控区域,查看2分钟内实时性能监控数据及趋势。
性能监控数据包括 CPU 最大使用率、连接数使用率和活跃线程数。
鼠标悬停至某个时间点,显示性能指标的具体数据。
Kill 会话
1. 登录 DBbrain 控制台。
2. 在左侧导航栏选择 诊断优化。
3. 在页面顶部依次选择数据库类型为 TDSQL Boundless,并选择目标实例 ID。
4. 单击实时会话页签。
5. 在实时会话页面,选择活跃会话页签。
6. 在实时会话列表中勾选待 Kill 的会话,在列表右上方单击 Kill 会话,在弹出的对话框中单击确定。
注意:
结束会话会立即回滚未提交事务,可能导致业务侧请求报错。请仅在排查到确实异常的会话时执行该操作。
Kill 会话后,可在列表上方单击 Kill 历史记录,查看已 Kill 会话。
后续步骤
若发现某条 SQL 模板被高频调用,可进入 慢 SQL 分析 页查看其详细执行计划与耗时分布;
若结束会话后压力仍未缓解,可进入 异常诊断 与 性能趋势 页继续分析根因。
相关操作
异常诊断
性能趋势
慢 SQL 分析
常见问题
Q1:为什么相同应用会出现多条会话?
应用通常会与数据库建立连接池,每条连接对应一条独立会话。实时会话页会列出当前实例上的全部活跃会话,方便用户根据 USER、HOST、SQL 等维度精细化排查。
Q2:已执行 Kill 会话操作,但列表里仍能看到?
部分会话从 Kill 到完全清理需要少量时间,期间该会话的 COMMAND 会显示为 Killed。可勾选 显示 Killed 会话 进行确认,等待数秒后会话将从列表中移除。
Q3:如何区分应用连接与数据库自身的会话?
应用连接通常具备明确的 USER 与 HOST 信息;数据库自身的内部会话通常使用系统账号或 Daemon 命令,已在列表中默认过滤。
Q4:实时会话页的 SQL 统计与慢 SQL 分析有何区别?
实时会话页的 SQL 统计聚合的是当前观测窗口内活跃会话执行的 SQL 模板,慢 SQL 分析 页则基于慢日志进行更长时间范围、更细粒度的统计分析。