
# 管理实时会话
#### 操作场景
实时会话功能提供当前数据库会话快照查询，并支持排序过滤展示。可基于用户、访问来源、数据库多维度统计会话数。
Kill会话能应对紧急实例恢复，保障数据库的可用性。当实例的连接数达到上限，无法正常登录时，可以查看和执行Kill会话的操作。
#### 注意事项
Kill会话操作可能会导致业务断连，建议业务有重连机制，请谨慎操作。
#### 约束限制
- 请务必在紧急情况下使用Kill会话功能，您的Kill操作将会以日志的形式被记录下来。
- rdsAdmin、rdsBackup、rdsMetric、rdsRepl等敏感用户以及用户名为 null 的会话禁止Kill和SQL限流，请知悉。
- 实时会话尽量使用较少资源，当实例负载较高时，频繁刷新会话列表可能会出现报错，请等待几秒后重新刷新。
- CPU打满情况下紧急Kill会话请求可能会下发失败，如遇到失败报错时请重复尝试。
 
#### 操作步骤
1. [登录RDS管理控制台](https://console.huaweicloud.com/rds/#/rds/management/list)。
2. 单击管理控制台左上角的![](https://support.huaweicloud.com/usermanual-rds-pg/zh-cn_image_0000002606863935.png)，选择区域。
3. 在"实例管理"页面，选择目标实例，单击实例名称，进入实例的"概览"页签。
4. 在左侧导航栏选择"智能DBA助手"下的"实时会话"。
5. 在实时会话页面，可以进行如下操作。 
   - 查看会话统计结果
     在会话统计信息区域，可以查看会话概要，以及按照用户、访问来源和数据库维度统计的会话结果。
     图1实时会话   
     ![](https://support.huaweicloud.com/usermanual-rds-pg/zh-cn_image_0000002609577635.png "点击放大") 
   
   - 一键kill会话 在会话列表，单击"一键kill会话"，在弹框中选择数据库或除系统用户外的其他用户，也可以同时选择数据库和用户，一键Kill符合条件的所有会话。
     设置一键Kill会话后，支持查看手动Kill会话历史，详见[查看Kill会话历史]。
     图2一键kill会话   
     ![](https://support.huaweicloud.com/usermanual-rds-pg/zh-cn_image_0000002579057652.png "点击放大") 
   
   - 智能Kill会话 在会话列表，单击"智能Kill会话"，实例将按照以下规则来结束会话，使数据库恢复正常。
     - 使用SQL限流功能需要[安装rds_pg_sql_ccl插件](https://support.huaweicloud.com/usermanual-rds-pg/rds_09_0070.html)，该插件是 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会话历史]。
     图3智能Kill会话   
     ![](https://support.huaweicloud.com/usermanual-rds-pg/zh-cn_image_0000002579219184.png "点击放大") 
   
   - Kill异常会话 在会话列表，根据实际运行状态和业务需求，选择异常进程，单击"Kill会话"，结束会话，使数据库恢复正常。
     Kill会话后，支持查看手动Kill会话历史，详见[查看Kill会话历史]。
     
   
   
   
   - 设置SQL限流 在会话列表，单击"SQL限流"，通过设置语句类型、关键字等匹配SQL语句，当所匹配的SQL语句超过设置的最大并发数时，数据库实例会拒绝执行此SQL。从而解决SQL并发数过高导致的实例不稳定问题。
     更多内容，请参见[新建SQL限流规则](https://support.huaweicloud.com/usermanual-rds-pg/rds_pg_08_0033.html)。
     
   
   - 查看数据库CPU/内存占比情况 在会话列表，单击"按数据库统计"，查看该实例下数据库的CPU/内存占比情况。
     
   
   
   
   
 
 #### 查看Kill会话历史
- 查看手动Kill会话历史 在实时会话页面，选择"Kill会话历史 \> 手动Kill会话历史"，查看手动Kill会话的操作历史，并支持导出操作历史记录。
  图4手动Kill会话历史   
  ![](https://support.huaweicloud.com/usermanual-rds-pg/zh-cn_image_0000002532176754.png "点击放大") 
- 查看智能Kill会话历史 在实时会话页面，选择"Kill会话历史 \> 智能Kill会话历史"，查看智能Kill会话的操作历史，并支持导出操作历史记录。
  图5智能Kill会话历史   
  ![](https://support.huaweicloud.com/usermanual-rds-pg/zh-cn_image_0000002563056683.png "点击放大") 
 
