tencent cloud
腾讯云
最新优惠
产品
解决方案
价格中心
合作伙伴网络
云市场
探索更多
Prev
Next
腾讯云
注册
登录
最新优惠
产品
解决方案
价格中心
合作伙伴网络
云市场
探索更多
语言
International
Intl - English
Intl - 한국어
Intl - 日本語
Intl - 简体中文
Intl - Português
Intl - Bahasa Indonesia
中国站
简体中文
联系我们
控制台
文档
搜索
文档反馈
请输入关键字
Recent Pages
Cloud Virtual Machine
Auto Scaling
CVM Dedicated Host
Batch Compute
Cloud File Storage
文档
流计算 Oceanus
动态与公告
产品动态
产品简介
产品概述
产品优势
应用场景
购买指南
计费概述
计费模式
退费说明
调整配置费用说明
快速入门
从零开始上手
创建独享集群
创建 SQL 作业
创建 JAR 作业
创建 ETL 作业
创建 Python 作业
操作指南
作业管理
作业概览
作业类型
作业信息
作业操作
作业开发
开发批作业
作业高级参数
作业最大并行度
作业资源配置
版本管理
作业监控
查看作业监控信息
配置作业监控告警(数值指标)
配置作业事件告警(异常事件)
监控指标一览
接入 Prometheus 自定义监控
查看作业 Flink UI
作业日志
配置采集作业运行日志
事件与诊断
日志诊断指南
查看关键事件
各类事件说明
快照失败事件
作业失败事件
TaskManager Pod 异常退出事件
JobManager Pod 异常退出事件
TaskManager Full GC 过久事件
TaskManager CPU 负载过高事件
TaskManager 背压较高/严重事件
JobManager CPU 负载过高事件
JobManager Full GC 过久事件
元数据管理
库表管理
变量管理
使用 Hive Catalog
快照管理
作业调优
作业自动调优
依赖管理
集群管理
查看集群信息
扩容集群
销毁集群
缩容集群
迁移集群
自定义DNS
网络连通性检查
权限管理
权限概述
基础权限配置指引
空间角色权限
SQL 开发指南
开发指南概述
术语和数据类型
术语表
数据类型
DDL 数据定义语句
CREATE TABLE
CREATE VIEW
CREATE FUNCTION
DML 数据操作语句
查询语句
INSERT 语句
MySQL CDC 多 Source 复用
上下游开发指南
消息队列 Kafka
消息队列 Upsert Kafka
消息队列 CMQ
消息队列 TDMQ RabbitMQ
数据库 MySQL CDC
消息队列 Pulsar
数据库 TDSQL-MySQL
数据库 Redis
数据库 MongoDB CDC
数据库 MongoDB
数据库 PostgreSQL CDC
数据库 HBase
数据仓库 Hive
数据仓库 ClickHouse
数据湖计算 DLC
数据仓库 Kudu
云数据仓库 TCHouse-P
数据库连接 JDBC
文件系统 FileSystem
模拟上下游 Datagen Logger Blackhole
自定义 Connector
数据湖 Hudi
数据湖 Iceberg
数据库 SQLServer CDC
数据库 StarRocks
SET 控制语句
Flink 配置项
运算符和内置函数
概览
内置函数差异对比
比较函数
逻辑和位运算函数
算术函数
条件函数
字符串操作函数
类型转换函数
时间相关函数
聚合函数
时间窗口函数
其他函数
标识符与保留字
命名规则
保留字
Python 开发指南
ETL 开发指南
概述
ETL 作业术语表
上下游开发指南
数据源表 MySQL
数据目的表 MySQL
数据目的表 PostgreSQL
数据目的表 ClickHouse
数据目的表 Elasticsearch
常见问题
联系我们
文档
动态与公告
产品动态
产品简介
产品概述
产品优势
应用场景
购买指南
计费概述
计费模式
退费说明
调整配置费用说明
快速入门
从零开始上手
创建独享集群
创建 SQL 作业
创建 JAR 作业
创建 ETL 作业
创建 Python 作业
操作指南
作业管理
作业概览
作业类型
作业信息
作业操作
作业开发
开发批作业
作业高级参数
作业最大并行度
作业资源配置
版本管理
作业监控
查看作业监控信息
配置作业监控告警(数值指标)
配置作业事件告警(异常事件)
监控指标一览
接入 Prometheus 自定义监控
查看作业 Flink UI
作业日志
配置采集作业运行日志
事件与诊断
日志诊断指南
查看关键事件
各类事件说明
快照失败事件
作业失败事件
TaskManager Pod 异常退出事件
JobManager Pod 异常退出事件
TaskManager Full GC 过久事件
TaskManager CPU 负载过高事件
TaskManager 背压较高/严重事件
JobManager CPU 负载过高事件
JobManager Full GC 过久事件
元数据管理
库表管理
变量管理
使用 Hive Catalog
快照管理
作业调优
作业自动调优
依赖管理
集群管理
查看集群信息
扩容集群
销毁集群
缩容集群
迁移集群
自定义DNS
网络连通性检查
权限管理
权限概述
基础权限配置指引
空间角色权限
SQL 开发指南
开发指南概述
术语和数据类型
术语表
数据类型
DDL 数据定义语句
CREATE TABLE
CREATE VIEW
CREATE FUNCTION
DML 数据操作语句
查询语句
INSERT 语句
MySQL CDC 多 Source 复用
上下游开发指南
消息队列 Kafka
消息队列 Upsert Kafka
消息队列 CMQ
消息队列 TDMQ RabbitMQ
数据库 MySQL CDC
消息队列 Pulsar
数据库 TDSQL-MySQL
数据库 Redis
数据库 MongoDB CDC
数据库 MongoDB
数据库 PostgreSQL CDC
数据库 HBase
数据仓库 Hive
数据仓库 ClickHouse
数据湖计算 DLC
数据仓库 Kudu
云数据仓库 TCHouse-P
数据库连接 JDBC
文件系统 FileSystem
模拟上下游 Datagen Logger Blackhole
自定义 Connector
数据湖 Hudi
数据湖 Iceberg
数据库 SQLServer CDC
数据库 StarRocks
SET 控制语句
Flink 配置项
运算符和内置函数
概览
内置函数差异对比
比较函数
逻辑和位运算函数
算术函数
条件函数
字符串操作函数
类型转换函数
时间相关函数
聚合函数
时间窗口函数
其他函数
标识符与保留字
命名规则
保留字
Python 开发指南
ETL 开发指南
概述
ETL 作业术语表
上下游开发指南
数据源表 MySQL
数据目的表 MySQL
数据目的表 PostgreSQL
数据目的表 ClickHouse
数据目的表 Elasticsearch
常见问题
联系我们
TaskManager 背压较高/严重事件
最后更新时间:2023-11-07 16:24:13
事件介绍
Flink 的
背压
(也称为反压)描述了作业的一种异常现象:在作业的运行图中,某个算子因为下游算子处理能力较慢、网络传输链路拥塞等原因,无法将数据全速输出到下游算子,引发了数据堆积。随后这个堆积现象会逐步向上游的各个算子扩散,最终传递到数据源,造成数据消费量的减少。如果背压情况长期得不到改善,则作业的总体吞吐量会大幅下降,甚至降低到 0。
如果算子只有轻度的背压现象(例如 Flink Web UI 中算子的背压值小于 50%),则可以继续观察背压是否只是偶现的。如果背压值已经超过了50%(如下图),则很可能对作业的性能造成较大影响,需要尽快着手处理。
注意
该功能目前为 Beta 版,暂不支持规则的自定义,后续该能力会陆续上线。
判定标准
系统每5分钟会检测一次 Flink 作业的算子背压情况。如果发现某个算子的背压值(如果算子有多个并行度,则取最大值)高于50%,则继续向下查找,直到遇到第一个背压值(图中的 Backpressured)低于阈值,但是繁忙度(图中的 Busy)高于50% 的算子,该算子通常是处理速度较慢、引起背压的根源。此时如果
查看 Flink Web UI
,可以看到一系列的灰色算子后紧跟着一个红色算子。
如果链路中某个算子的背压超过50% 但小于80%,会触发
TaskManager 背压较高事件
。如果算子的背压超过80%,则会触发
TaskManager 背压严重事件
。
注意
为了避免频繁告警,每个作业的每个运行实例 ID 每小时最多触发一次该事件的推送。
背压事件检测功能仅支持 Flink 1.13 及之后的版本。
告警配置
用户可以对该事件
配置作业监控告警(异常事件)
,并实时接收触发和恢复的告警通知。
注意
TaskManager 背压较高(OceanusBackpressureHigh)、TaskManager 背压过高(OceanusBackpressureTooHigh) 为两种
不同
的告警事件。如果您只关心影响作业运行的严重背压事件,可以只配置后者的告警通知。
处理建议
收到该事件推送后,我们建议立刻
查看 Flink Web UI
,分析当前的运行图。如果可以找到引发背压的根源算子,则建议使用 Flink UI 内置的
火焰图功能
分析 CPU 调用热点,即占用 CPU 时间片较多的方法(首先需要在作业的
高级参数
选项中,加入
rest.flamegraph.enabled: true
参数,并重新发布作业版本,才可使用火焰图绘制功能)。
例如下图的繁忙算子 CPU 火焰图中,MD5 计算的相关方法占用了大量的时间片,已经成为了作业的性能瓶颈。此时我们可以修改 Flink 作业中该算子的计算逻辑,避免如此高频地调用该方法,或者使用更高效的算法等优化措施。
此外,我们建议增加作业的
资源配置
,例如调大 TaskManager 的规格(提升 TaskManager 的 CPU 配额,可以有更多的 CPU 资源来处理数据),提升作业的算子并行度(降低单个 TaskManager 的数据处理量,减少 CPU 计算压力)等,令数据能够更有效地处理。
如果您找不到引起背压的根源,且以上方法均未能解决问题,可以通过
工单
等方式联系我们的技术人员以协助定位。
本页内容是否解决了您的问题?
是
否
您也可以
联系销售
或
提交工单
以寻求帮助。
本页内容是否解决了您的问题?
是
否
您也可以
联系销售
或
提交工单
以寻求帮助。
联系我们
联系我们,为您的业务提供专属服务。
联系我们
技术支持
如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。
提交工单
7x24 电话支持
本页内容是否解决了您的问题?