
# 特性概述
#### 功能定义
GaussDB提供的应急链路，客户端可以通过接入该链路进行应急命令下发，本功能后简称"应急通道"。
#### 用户场景
- 极端负载场景下，如CPU过载、内存过载、线程池满，连接池满，CM（集群管理组件）通过网络建连（libpq）连接数据库探活可能失败，进而触发主备倒换，通过应急通道可以避免此场景下的主备倒换。

- 运维人员通过运维端口连接数据库也可能失败，导致一些关键运维命令无法及时下发，此时可以通过应急通道进行关键命令下发。
 
#### 规格约束
- 仅支持DN节点，不支持1主1备1日志组网中的日志节点。

- 本需求支持场景：
  - GaussDB进程CPU负载峰值达到95%。
  
  - 最大连接数达到max_connections上限，无法新建连接，GUC参数max_connections的描述请参见《参考》中"数据库运行参数说明 \> GUC参数说明 \> 连接和认证 \> 连接设置"章节。
  
  - 内存过载，日志中已不断报memory is temporarily unavailable类错误，无法正常分配内存执行SQL。
  
  - 线程池占满，出现会话堆积，新会话处理缓慢。
   

- 通过gsql进行应急通道视图查询或运维，5s内返回结果。mem_log生成为异步执行，保证5s内触发生成，生成完毕的时间受磁盘I/O、内存上下文数量及业务并发影响；会话查杀为异步执行，保证5s内下发查杀信号，查杀的成功性及时间受会话执行的业务、锁资源等因素影响。
- 应急通道运维仅支持本地连接节点。
- 通过gsql进行mem_log记录需开启use_workload_manager、enable_memory_limit，请参见[操作指导](https://support.huaweicloud.com/centralized-devg-v10-gaussdb/gaussdb-42-1036.html)。
- 高CPU场景，需保证enable_control_group参数的开启（默认开启，可进行CPU隔离），才可以保证应急通道100%运维成功，GUC参数enable_control_group具体描述请参见《参考》中"数据库运行参数说明 \> GUC参数说明 \> 负载管理"章节。
 
