基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。
节点网卡负载过高
更新时间:2023-07-19 13:03:07
导致 observer 所在节点网卡负载过高的原因一般和批处理、复制迁移等后台任务相关。处理的思路和 IO 过高的方案类似,通常是任务降级和调整迁移复制相关参数等,本文针对几种不同的情况进行了详细的分析。
应急处理流程
对于 observer 所在节点网卡负载过高的场景,一般从以下几个方面入手处理。
暂停执行中的备份任务。
您可以通过 OCP 查看当前节点是否正在进行备份,如果是,可以暂停备份,以缓解 网卡压力。具体步骤如下所示。
在左导航栏单击 集群 ,进入集群概览页面。
在集群列表中单击对应的集群,进入新页面后,在左导航栏单击 备份恢复 。
在集群的备份恢复页面,对当前正在备份调度中的集群,进行 暂停备份 的操作。后续需要重启备份,可按照如下步骤进行处理。
暂停备份调度任务:在指定备份调度任务对应的操作列单击 操作 > 暂停 ,即可暂停该任务。
重启备份调度任务:在指定备份调度任务对应的操作列单击 操作 > 重启 ,即可重新启动该任务,系统根据预设的时间和周期继续定期发起任务。
暂停执行中的数据导入/导出任务。
您可以通过 OMS 查看当前节点是否正在进行数据传输任务,如果是的话,可以根据需要将其暂停,缓解 网卡压力后再继续执行。暂停数据迁移项目具体操作步骤如下所示。仅运行中的数据迁移项目支持暂停和恢复操作。暂停数据迁移项目后,OMS 会中止编排任务列表中正在运行状态的子任务,并自动终止其后面所有子任务的调度。
登录 OMS 控制台。
在左侧导航栏,单击 数据迁移 。
在 数据迁移 页面,单击目标项目后的 暂停 。
您也可以在 数据迁移 页面,单击项目名称进入详情页面,单击右上角的 暂停 。
后续您可以手动继续运行暂停或失败的数据迁移项目。OMS 会从编排任务列表中,第一个待执行状态的任务开始依次执行各个子任务。
登录 OMS 控制台。
在左侧导航栏,单击 数据迁移 。
在 数据迁移 页面,单击目标项目后的 恢复 。
您也可以在 数据迁移 列表页面,单击项目名称进入详情页面,单击右上角的 恢复 。
调低迁移复制的并发数。
当问题发生期间 OB 集群中如果恰好有 unit 迁移,或者副本均衡类的任务。此时可以通过限制迁移的并发数来达到 IO 限流的目的,从而缓解网卡压力。
alter system set migrate_concurrency=5; --默认值为10 alter system set data_copy_concurrency=5; --默认值为10 alter system set server_data_copy_in_concurrency=2; --默认值为2,如果高于该值,可以调回2 alter system set server_data_copy_out_concurrency=2; --默认值为2,如果高于该值,可以调回2调低后台任务的网络带宽。
您可以使用如下命令来调低后台任务的网络带宽:
alter system set sys_bkgd_net_percentage=30; --默认值60开启 Clog 传输压缩。
对于当前节点网卡负载过高的情况,可以考虑开启日志传输压缩。您可以通过设置
clog_transport_compress_all参数来开启日志传输压缩,该参数默认是False,即不开启日志传输压缩,该参数修改后无需重启直接生效。语法如下所示:ALTER SYSTEM SET clog_transport_compress_all = TRUE ;对高负载的SQL执行限流。
当磁盘 IO 过高,定位到某条 SQL 时,可以通过绑定 SQL 的执行计划加入 hint max_concurrent 来限制 SQL 并发,实现对 SQL 的限流。
CREATE OUTLINE outline_name ON sql_id USING HINT /*+max_concurrent(1)*/;更多信息请参见 CREATE OUTLINE(MySQL 模式) 和 CREATE OUTLINE(Oracle 模式)。