ToB企服应用市场:ToB评测及商务社交产业平台

标题: 【实时盘算 Flink】检查点和快照超时的诊断方法与调优计谋 [打印本页]

作者: 梦见你的名字    时间: 2024-10-24 15:27
标题: 【实时盘算 Flink】检查点和快照超时的诊断方法与调优计谋
Flink的状态管理是一个复杂而关键的领域,涉及到作业的性能、稳定性和资源使用等多个方面。通过对状态天生机制和优化计谋地深入明白与精确应用,结合实时盘算Flink版提供的产品本事,可以帮您有用地优化Flink作业以应对大规模状态作业带来的挑战,实现更高效、更可靠的实时数据处理。
Flink状态(State)介绍

Apache Flink是一个开源的流处理框架,用于处理和分析实时数据流。在Flink中,状态管理是流处理应用的核心概念之一,它允许算子在处理事件时保持操纵状态信息。状态可以被视为算子的影象,它使得算子能够在处理无界流数据时保持对汗青数据的跟踪。状态可以是简单的键值对,也可以是更复杂的数据结构,如列表、集合或自定义对象。状态的更新和查询对于实现复杂的流处理逻辑至关重要。
状态管理与维护是阿里云实时盘算Flink版中的重要功能,通过产品的控制台可以完成系统检查点生命周期的自动管理,并在保证不影响作业可用性的前提下最小化存储空间,同时产品的控制台支持快照的管理和共享,为差别场景下的快照提供了选择,而作业间的快照共享功能对大状态作业的A/B Test和主备链路切换具有极为实用的价值。
大状态作业导致的题目

在处理大规模状态作业的过程中,系统面临着调优的严峻挑战。随着作业状态的持续膨胀,多个题目渐渐显现,对作业的团体性能产生倒霉影响:

大状态作业诊断调优团体思绪

Flink处理数据时的性能减缓、检查点或快照超时题目以及作业启动和扩缩容过程缓慢题目,通常是由大规模状态的管理和维护不当所引起的,您可以遵循以下步调来优化大状态作业。

本文为您介绍检查点和快照超时的诊断方法和调优计谋。
运行原理

Flink的状态管理核心机制依靠于Chandy-Lamport算法,以确保数据的一致性和可靠性。在此框架下,检查点和快照的执行过程可以概括为两个主要阶段:
阐明
当Flink作业面临反压题目时,同步阶段的执行大概会变得缓慢,从而导致检查点和快照超时。因此,在碰到检查点和快照超时题目,而且监测到作业存在反压时,应起首参考SQL作业大状态导致反压的调优原理与方法和DataStream作业大状态导致反压的调优原理与方法优先解决反压题目,以提高作业的团体效率和稳定性。
题目诊断方法

在反压题目解决后,假如检查点与快照仍出现超时征象,则起首应分析同步阶段的对齐时间是否过长,随后思量是否由巨大的状态数据引起。
Checkpoint UI

运维中心 > 作业运维页面作业日志页签下的Checkpoints > Checkpoints 汗青中,观察差别级别(作业、算子、单并发)的Checkpoint指标,分析检查点和快照超时原因。


您可以着重观察超时的Checkpoint的异常算子或正在进行的Checkpoint的算子,定位思绪如下:

Checkpoint指标

运维中心 > 作业运维页面监控告警页签检察lastCheckpointDuration和lastCheckpointSize指标,来粗粒度分析汗青Checkpoint的耗时和巨细。
调优计谋

在进行性能调优之前,起首要确保运行时性能到达预期。假如当前性能程度不敷,应优先根据运行时性能优化指南进行调整。在满足根本性能要求后,为了进一步提高检查点和快照的效率,可以思量以下计谋。
计谋
计谋阐明
使用场景
设置方法
注意事项
使用Unaligned Checkpoint和Buffer Debloating
可以有用解决因等待数据对齐而导致的超时题目,实用于各种规模的作业。
检查点或快照同步超时
运行参数中设置,详情请参见Unaligned checkpoints和Buffer debloating使用方式。
请参见Limitations。
增长运行时的并发资源
通过增长并发资源,可以减少单个并发使命的状态量,从而加速异步快照的处理流程。
检查点或快照异步超时
在资源设置或细粒度资源设置中增长并发,详情请参见设置作业资源。
无。
使用原生快照
相比标准快照,原生快照天生速度更快,存储占用更小。
快照异步超时
对运行中的作业,创建原生格式的作业快照,详情请参见手动创建作业快照。
原生快照无法保证跨大版本兼容。


作业启动和扩缩容速度优化

在进行作业恢复时,从检查点或快照中恢复相较于无状态启动,关键在于高效地从长途持久存储中下载状态文件并重建状态引擎。这一步调需要执行大量的输入输出操纵,容易成为恢复过程中的效率瓶颈,大概会造成作业的长时间停滞。本文为您介绍作业启动和扩缩容过程中瓶颈题目的诊断方法和调优计谋,助力您高效提升系统性能。
诊断步调

在作业启动或进行扩容操纵期间,假如发现作业长时间停留在初始化阶段,应起首诊断是否存在初始化瓶颈。以下是推荐的诊断步调:
调优计谋

为了提升作业启动和扩容效率,一旦确定大状态处理是作业初始化的瓶颈,您可以参考如下方案进行针对性调整。
计谋
计谋阐明
设置方法
注意事项
动态扩缩容
可以实现更快的让参数设置收效,减少作业启停对业务的中断时间,方便进行TM动态扩缩容。
详情请参见动态扩缩容与参数动态更新。
动态更新为实行性功能,在动态更新参数时,业务并不是完全不中断。相比传统的参数修改模式,动态更新能够显著缩短中断时间,但中断的详细时长受到作业拓扑和状态巨细等因素的影响,通常在5秒至1分钟之间。
Local Recovery:本地备份快照加速恢复
在本地同时存储快照,可减少恢复过程中的数据下载需求。当本地磁盘空间充裕时,为首选方案。
在运行参数中设置
state.backend.local-recovery: true
,设置方法请参见如何设置作业运行参数?
     

  • 实行性功能,VVR 8.0.8及以上版本推荐开启。
  • 实用于作业Failover或者动态参数更新的场景,手动制止重启无法收效。
  • 会多占用部门本地磁盘资源。
GeminiStateBackend智能懒加载和耽误剪裁:异步状态恢复方案
作为平台核心技术GeminiStateBackend,即使面临大规模状态的作业,也能仅通过下载必要的元数据快速启动,实现对数据的即时处理。随后,系统将通过异步下载和智能裁剪技术,有用处理长途检查点文件,显著降低作业中断时间,提升效率超过90%,详情请参见企业级状态后端存储介绍。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4