如何使用 AutoPilot 对作业自动调优|学习笔记

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
简介: 快速学习 如何使用 AutoPilot 对作业自动调优

开发者学堂课程【《实时计算 Flink 版产品入门与实操》:如何使用 AutoPilot 对作业自动调优】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/334/detail/3740


如何使用 AutoPilot 对作业自动调优


目录

● AutoPilot 简介

● AutoPilot 实操演示

● 如何选择 AutoPilot 的策略

● AutoPilot 的使用注意事项

 

一、AutoPilot 简介

AutoPilot 的目标

● 作业调优难,开发、运维的人力成本高

>Flink流作业长时间运行,作业流量随时间不断变化,数据会随着时间不断变化,资源需求也会随着时间不断变化,需要重复的调优

>Flink SQL 大大简化了作业的开发难度,加大了作业调优难度∶由于 SQL 用户对底层具体实现不了解,问题定位难

● 作业资源利用率低,执行的资源成本高

>以高峰期的资源配置长时间运行,导致资源利用率低

● 自动化、自适应的调优,降低 Flink 的使用门槎、降低使用的成本

AutoPilot 的系统架构

图片27.png

AutoPilot 目前支持的功能

● 根据作业的实际负载动态调整作业的并发度,同时对应的调整 TM 的个数

●根据 TM 的内存利用率,动态调整 TM 的资源

● 自动识别作业因为资源问题导致的异常,动态调整 TM 的资源

 

二.AutoPilot 实操演示

如何为作业配置 AutoPilot

● 每个作业独立配置、动态更新

● 模式

>Disabled∶关团 AutoPilot

>Active∶启动作业状态监控,并在必要的时候自动更新作业参数配置

>Monitoring∶启动作业状态监控,在识别到作业异常时,提供配置更新建议,但是需要用户确认,自己手动修改作业配置

●策略

>Cpu-based∶基于 TM 的 cpu 利用率来动态调整并发度,典型的弹性伸缩的策略

>Source-delay-based∶source 的 delay metrics 持续上升时,调大并发度,目前只支持 sls 和 datahub,社区正在推进 metrics 标准化(FLIP-33)

>Slot-utilization-based∶基于 task 的 slot 利用率判断是否需要调小并发度,和 cpu不一样的是,io wait、sleep 也会被计算在内,利用率计算更加准确,依赖 FLIP-27

>Memory-utilization-based∶基于 TM 内存的实际利用率和 GC 的 metrics 判断是否需要调整 TM 的内存大小

>Job-exception-based∶自动识别因为资源异常所产生的作业异常,自动调大 TM 的内存大小

● 冷却时间

>两次 rescale 的最小间隔,用于初始化、预热

●自定义参数

> 个性化控制策略行为,来适配特殊作业的要求

> 对于 IO 操作多的作业,cpu-based 的触发调整的阈值要降低

查看 AutoPilot 的运行状态

● 自动调优->状态

● Monitoring 状态下,可以查看当前是否有新的配置推荐,推荐配置可以直接该改页面直接触发更新

● 可以看到启动的策略,监控到的作业的状态信息

查看 AutoPilot 的历史信息

● 运行事件页面->自动调优

● 可以查看整个作业生命周期内,AutoPilot 对作业做过什么操作,因为什么触发的配置更新

 

三、如何选择 AutoPilot 的策略

如何选择 AutoPilot 的策略

●一般作业使用默认参数∶

cpu-base+memory-utilization-based +job-exception-based

>简单、易懂

● 高优先级、延迟敏感作业,使用 Monitoring 模式,定时 review 检查优化推荐,手动更新

● 对于使用 sls、datahub 的作业,推荐使用 source-delay-based+slot-utilization-based+memory-utilization-

based + job-exception-based  策略

>效果更好,收敛速度更快

 

四、AutoPilot 的使用注意事项

● AutoPilot 修改并发度是通过默认的并发度来实现的,因此作业代码中不能显示设置并发度,否则就无法实现动态调节

● AutoPilot 触发更新后,控制台会自动重启作业,会导致作业短暂停止处理数据,对抖动敏感的作业,推荐使用 Monitor 模式,避免对业务产生影响

● AutoPilot 策略对作业的数据模型有一定假设∶

流量平滑变化、不能有数据倾斜、每个算子的吞吐能力能够随并发度线性拓展,当作业 pattern 严重偏离这几个假设时,可能会存在作业异常,没有触发自动调整,或者算法无法收敛,作业持续重启等异常场景,此时需要关闭 AutoPilot,手动进行作业调优

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
Linux入门到精通
本套课程是从入门开始的Linux学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
相关文章
|
6月前
|
监控 数据可视化 Java
jvm性能调优实战 - 31从测试到上线_如何分析JVM运行状况及合理优化
jvm性能调优实战 - 31从测试到上线_如何分析JVM运行状况及合理优化
95 1
|
5月前
|
存储 SQL 测试技术
Flink⼤状态作业调优实践指南:状态报错与启停慢篇
本文整理自俞航翔、陈婧敏、黄鹏程老师所撰写的大状态作业调优实践指南。由于内容丰富,本文分享终篇状态报错与启停慢篇.
50544 65
Flink⼤状态作业调优实践指南:状态报错与启停慢篇
|
3月前
|
机器学习/深度学习 运维 算法
【KDD2024】面向集群整体作业运行变慢的异常检测
阿里云计算平台大数据基础工程技术团队主导,与浙江大学合作的论文《Cluster-Wide Task Slowdown Detection in Cloud System》被数据挖掘领域顶会ACM SIGKDD2024接收。论文从新的视角分析云计算平台集群健康状态,实现了基于神经网络的集群作业整体变慢异常定向检测,与SOTA异常检测算法相比平均提升F1 score 5.3%。
|
3月前
|
DataWorks 算法 调度
B端算法实践问题之配置脚本以支持blink批处理作业的调度如何解决
B端算法实践问题之配置脚本以支持blink批处理作业的调度如何解决
43 1
|
5月前
|
监控 Java 测试技术
Java性能测试与调优工具使用指南
Java性能测试与调优工具使用指南
|
5月前
|
SQL 关系型数据库 MySQL
实时计算 Flink版产品使用问题之自动调优指的是什么
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
6月前
|
分布式计算 MaxCompute 流计算
maxcomputer作业性能优化的规范有吗
maxcomputer作业性能优化的规范有吗
78 0
|
6月前
|
机器学习/深度学习 人工智能 Cloud Native
福利「Flink Forward Asia 2023 」视频合集!
2023 年 12 月 9 日,Flink Forward Asia 2023 在北京圆满结束。本届大会共有 70+ 演讲议题、30+ 一线大厂技术与实践分享。现所有专场回放视频已经出炉,并在开发者社区上线。
5435 2
福利「Flink Forward Asia 2023 」视频合集!
|
运维 资源调度 监控
Dataphin运行诊断,提升运行异常分析效率的利器
Dataphin V3.5版本上线了自动化的实例运行诊断的能力,从上游依赖、定时时间、限流规则、调度资源及实例执行 5 个阶段分析实例运行过程中可能产生的问题,从此运维人员再也不怕异常分析啦!
Dataphin运行诊断,提升运行异常分析效率的利器
|
SQL Cloud Native 分布式数据库
用户指南—诊断与优化—实例会话
PolarDB-X支持查看实例的会话及其统计信息。当您的实例突然出现CPU飙升、活跃会话升高或响应时间飙升的告警时,PolarDB-X提供10秒SQL分析的功能帮助您对10秒内的实时SQL进行分析。
用户指南—诊断与优化—实例会话
下一篇
无影云桌面