1.概述
转载:高效稳定的通用增量 Checkpoint 详解之二:性能分析评估
摘要:我们在“Flink 1.15 新功能架构解析:高效稳定的通用增量 Checkpoint”【1】 一文介绍了通用增量 Checkpoint 的原理和背后的思考以及执行性能、空间放大等方面的初步测试结果。该功能在 Flink 1.16 中经过优化,已达到生产可用状态。本文将从理论和实验两个部分详细论述通用增量 Checkpoint 的收益与开销,并分析其适用场景。
在进行详细的性能分析之前,我们简单回顾一下通用增量 Checkpoint 的设计思考。Flink Checkpoint 过程包括同步刷盘和异步上传文件两个部分
,一个算子的 Checkpoint 需要算子的所有并发完成异步过程并确认成功后才算完成
。因此,在大规模作业中,Checkpoint 异步耗时通常是影响 Checkpoint 稳定性和延迟的瓶颈点。异步上传文件耗时部分有两个不确定性因素:
- 异步上传的文件大小依赖于状态存储的具体实现
- 异步过程需要等到同步过程结束才能开始
第一个问题,以 RocksDB 为例,虽然 Flink 对 RocksDB 也支持增量 Checkpoint,但是异步上传文件的数据量会受到 RocksDB C