更新时间:2024-06-28 GMT+08:00
SQL自动查杀
使用场景
- Kill掉所有执行时间已经超过n秒的请求。
- Kill掉特定客户端IP的请求。
- Kill掉所有全表扫描的请求。
使用须知
- 实例节点的CPU规格数量在4U及其以上。
- 支持3.4 、4.0、4.2和4.4版本的副本集实例和集群实例。
- 单个实例最多创建10条规则。
- 32 shard以上规模超大集群,创建并启用“节点类型”为shard 和dds mongos_shard的查杀规则会失败,建议创建 “节点类型”为dds mongos的查杀规则。
- shard数量较多(超过10个shard)的集群,建议启用和禁用规则时一次选中并操作一个规则。
- 目前此功能仅支持白名单用户使用,需要提交工单申请才能使用。您可以在管理控制台右上角,选择“工单 > 新建工单”,完成工单提交。
创建查杀规则
- 登录管理控制台。
- 单击管理控制台左上方的,选择区域和项目。
- 在页面左上角单击,选择 ,进入文档数据库服务信息页面。
- 在“实例管理”页面,选择指定的实例,单击实例名称。
- 在左侧导航树,单击“SQL自动查杀”。
图1 SQL自动查杀
- 单击“创建规则”。
图2 创建规则
- 在“创建规则”页面,填写参数,参数说明请参见表1。
图3 创建规则参数
表1 参数说明 参数名称
说明
操作类型
创建单条规则时可以指定一项或多项操作类型。
操作类型如下:- query:查询操作
- update:更新操作
- insert:插入操作
- remove:删除操作
- command:命令操作
- getmore:获取更多数据操作
表命名空间
- 为空:表示对实例中的所有库表的操作都查杀,例如””。
- 填数据库名称:表示对该数据库下的所有集合的操作都查杀,例如db1。
- 填数据库名称.集合名称:表示只对该集合的操作查杀,例如db1.coll1。
客户端IP
如果客户使用的是华为云ECS,配置ECS的内网IP。
说明:- 此参数对于3.4版本的集群实例不生效。
执行计划
- 默认为空,表示查杀所有的执行计划。
- 选择COLLSCAN表示查杀全表扫描。
最大并发数
- 0表示该项不生效。
- 例如该项配置为100时,表示当前满足条件的操作只允许有100个在执行。
说明:
例如当前满足条件的currentOp有110个,为了尽可能的让操作维持在100个,就会随机停止10个。
- 和最大运行时长不能同时为0。
最大运行时长
- 0表示该项不生效。
- 例如该项配置为5时,表示查杀执行超过5s的currentOp,配置超过2秒才有效。
- 和最大并发数不能同时为0。
节点类型
- dds mongos表示规则只在dds mongos上生效。
- shard表示规则只在shard上生效。
- dds mongos_shard表示规则会同时在dds mongos和shard上生效。
- replica表示规则在副本集上生效。
- 单击“确定”。
启用查杀规则
- 登录管理控制台。
- 单击管理控制台左上方的,选择区域和项目。
- 在页面左上角单击,选择 ,进入文档数据库服务信息页面。
- 在“实例管理”页面,选择指定的实例,单击实例名称。
- 在左侧导航树,单击“SQL自动查杀”。
图4 SQL自动查杀
- 选中目标规则,在“操作”列单击“启用”。
图5 启用规则
- 单击“是”。
图6 确定启用规则
- 执行完成后,可在界面查看规则的状态。
图7 规则启用状态
禁用查杀规则
- 登录管理控制台。
- 单击管理控制台左上方的,选择区域和项目。
- 在页面左上角单击,选择 ,进入文档数据库服务信息页面。
- 在“实例管理”页面,选择指定的实例,单击实例名称。
- 在左侧导航树,单击“SQL自动查杀”。
图8 SQL自动查杀
- 选中目标规则,在“操作”列单击“禁用”。
图9 禁用规则
- 单击“是”。
图10 确定禁用规则
- 执行完成后,可在界面查看规则的状态。
图11 规则禁用状态