网上超市网站的设计与实现,网站 建设在作用是什么意思,上海网站制作公司怎么找,网站主持自动配置调优
实时计算 Flink新增自动调优功能autoconf。能够在流作业以及上下游性能达到稳定的前提下#xff0c;根据您作业的历史运行状况#xff0c;重新分配各算子资源和并发数#xff0c;达到优化作业的目的。更多详细说明请您参阅自动配置调优。
首次智能调优
创建…自动配置调优
实时计算 Flink新增自动调优功能autoconf。能够在流作业以及上下游性能达到稳定的前提下根据您作业的历史运行状况重新分配各算子资源和并发数达到优化作业的目的。更多详细说明请您参阅自动配置调优。
首次智能调优
创建一个作业。如何创建作业请参看快速入门。 上线作业。选择智能推荐配置指定使用CU数为系统默认不填即可。点击下一步。 数据检查预估消耗CU数。 在运维界面启动作业根据实际业务需要指定读取数据时间。 说明:实时计算作业启动时候需要您指定启动时间。实际上就是从源头数据存储的指定时间点开始读取数据。指定读取数据时间需要在作业启动之前。例如设置启动时间为1小时之前。 待作业稳定运行10分钟后且以下状态符合要求即可开始下一次性能调优。 运行信息拓扑图中IN_Q不为100%。数据输入RPS符合预期。
非首次性能调优 停止下线作业。 重新上线作业。选择智能推荐配置指定使用CU数为系统默认不填即可。点击下一步。 数据检查再次预估消耗CU数。 在运维界面启动作业待作业稳定运行十分钟后即可再一次性能调优。 说明 自动配置调优一般需要3到5次才能达到理想的调优效果。请完成首次性能调优后重复非首次性能调优过程多次。每次调优前请确保足够的作业运行时长建议10分钟以上。指定CU数参考值 实际消耗CU数*目标RPS/当前RPS。 实际消耗CU数上一次作业运行时实际消耗CU目标RPS输入流数据的实际RPS或QPS当前RPS上一次作业运行时实际的输入RPS手动配置调优
手动配置调优可以分以下三个类型。
资源调优作业参数调优上下游参数调优
资源调优
资源调优即是对作业中的Operator的并发数parallelism、CPUcore、堆内存heap_memory等参数进行调优。
分析定位资源调优节点
定位性能瓶颈节点
性能瓶颈节点为Vertex拓扑图最下游中参数IN_Q值为100%的一个或者多个节点。如下图7号节点为性能瓶颈节点。
分析性能瓶颈因素
性能瓶颈的可分为三类。
并发parallelism不足CPUcore不足MEMheap_memory不足
如下图7号节点的性能瓶颈是资源CPU和/或MEM配置不足所导致。 说明判断性能瓶颈因素方法 瓶颈节点的资源健康分为100则认为资源已经合理分配性能瓶颈是并发数不足所导致。瓶颈节点的资源健康分低于100则认为性能瓶颈是单个并发的资源CPU和/或MEM配置不足所导致。无持续反压但资源健康分低于100仅表明单个并发的资源使用率较高但暂不影响作业性能可暂不做调优。通过作业运维页面中Metrics Graph功能进一步判断性能瓶颈是CPU不足还是MEM不足。步骤如下。 运维界面中点击TaskExecutor找到性能瓶颈节点ID点击查看详情。 选择Metrics Graph根据曲线图判断CPU或者MEM是否配置不足很多情况下两者同时不足。
调整资源配置
完成了性能瓶颈因素判断后点击开发基本属性跳转到新窗口配置开始调整资源配置。
批量修改Operator 点击GROUP框进入批量修改Operator数据窗口。 说明 GROUP内所有的operator具有相同的并发数。GROUP的core为所有operator的最大值。GROUP的_memory为所有operator之和。建议单个Job维度的CPU:MEM1:4即1个核对应4G内存。 配置修改完成后点击应用当前配置并关闭窗口。
单个修改Operator 点击Operator框进入修改Operator数据窗口。 配置修改完成后点击应用当前配置并关闭窗口。
参数调整说明
您只需调整parallelism、core和heap_memory三个参数即能满足大部分的资源调优需求。
Parallelism source节点 资源根据上游Partition数来。例如source的个数是16那么source的并发可以配置为16、8、4等。不能超过16。中间节点 根据预估的QPS计算。对于数据量较小的任务设置和source相同的并发度。QPS高的任务可以配置更大的并发数例如64、128、或者256。sink节点 并发度和下游存储的Partition数相关一般是下游Partition个数的2~3倍。如果配置太大会导致数据写入超时或失败。例如下游sink的个数是16那么sink的并发最大可以配置48。Core 即CPU根据实际CPU使用比例配置建议配置值为0.25可大于1。Heap_memory 堆内存。根据实际内存使用状况进行配置。其他参数 state_size默认为0group by、join、over、window等operator需设置为1。direct_memoryJVM堆外内存默认值为0, 建议不要修改。native_memoryJVM堆外内存默认值为0建议修改为10MB。chainingStrategychain策略根据实际需要修改。
作业参数调优 在开发页面的右侧选择作业参数。 输入调优语句。
优化解决问题调优语句MiniBatch提升吞吐降低对下游压力仅对Group by有效。blink.miniBatch.allowLatencyMs5000blink.miniBatch.size1000LocalGlobal优化数据倾斜问题blink.localAgg.enabletrueTTL设置State状态时间1.xstate.backend.rocksdb.ttl.ms1296000002.xstate.backend.niagara.ttl.ms129600000 其中1.x 表示需显式开启2.x 表示默认开启。注意添加或删除MiniBatch或LocalGlobal参数job状态会丢失修改值大小状态不会丢失。 上下游参数调优
实时计算 Flink可以在with参数内设置相应的参数达到调优上下游存储性能的目的。
调优步骤
进入作业的开发界面。确定需要调优的上下游引用表的语句。在with参数中配置相应的调优参数。如下图。
batchsize参数调优
实时计算 Flink的每条数据均会触发上下游存储的读写会对上下游存储形成性能压力。可以通过设置batchsize批量的读写上下游存储数据来降低对上下游存储的压力。
名字参数详情设置参数值Datahub源表batchReadSize单次读取条数可选默认为10Datahub结果表batchSize单次写入条数可选默认为300日志服务源表batchGetSize单次读取logGroup条数可选默认为10ADB结果表batchSize每次写入的批次大小可选默认为1000RDS结果表batchSize每次写入的批次大小可选默认为50注意 添加、修改或者删除以上参数后作业必须停止-启动后调优才能生效。 cache参数调优
名字参数详情设置参数值RDS维表Cache缓存策略默认值为None,可选LRU、ALL。RDS维表cacheSize缓存大小默认值为None,可选LRU、ALL。RDS维表cacheTTLMs缓存超时时间默认值为None,可选LRU、ALL。OTS维表Cache缓存策略默认值为None, 可选LRU,不支持ALL。OTS维表cacheSize缓存大小默认值为None, 可选LRU,不支持ALL。OTS维表cacheTTLMs缓存超时时间默认值为None, 可选LRU,不支持ALL。注意 添加、修改或者删除以上参数后作业必须停止-启动后调优才能生效。 手动配置调优流程
资源调优、作业参数调优、上下游参数调优开发上线作业资源配置方式使用上次资源配置数据检查上线说明完成资源、作业参数、上下游参数调优后手动配置调优后续的步骤与自动配置调优基本一致。区别在于资源配置环节需要选择使用上次资源配置。 FAQ
Q性能调优后作业为什么运行不起来
A:可能性1首次自动配置时指定了CU数但指定的CU数太小比如小于自动配置默认算法的建议值多见于作业比较复杂的情况建议首次自动配置时不指定CU数。 可能性2默认算法建议的CU数或指定的CU数超过了项目当前可用的CU数建议扩容。
QVertex拓扑中看不到持续反压但延迟却非常大为什么
A可能性1若延时直线上升需考虑是否上游source中部分partition中没有新的数据因为目前delay统计的是所有partition的延时最大值。 可能性2Vertex拓扑中看不到持续反压那么性能瓶颈点可能出现在source节点。因为source节点没有输入缓存队列即使有性能问题IN_Q也永远为0同样sink节点的OUT_Q也永远为0。 解决方案通过手动配置调优将source节点GROUP中的operator中chainingStrategy修改为HEAD将其从GROUP中拆解出来。然后上线运行后再看具体是哪个节点是性能瓶颈节点若依然看不到性能瓶颈节点则可能是因为上游source吞吐不够需考虑增加source的batchsize或增加上游source的shard数。
Q:如何判断持续反压反压时如何判断性能瓶颈点
A:Vertex拓扑中某些节点的IN_Q持续为100%则存在持续反压情况最后一个(或多个)IN_Q为100%的节点为性能瓶颈点。如下示例 上图存在反压,瓶颈在6号节点。 上图存在反压瓶颈在2号节点。 上图存在反压瓶颈在8号节点。 上图可能存在节点瓶颈在0号节点。
Q: 如何判断数据倾斜
A(1)表象上看某些节点不论增加多大的并发仍存在性能瓶颈则可能存在数据倾斜。 (2)在Vertex拓扑中点击疑似存在数据倾斜的节点一般为性能瓶颈节点进入SubTask List界面重点观察RecvCnt和InQueue若各ID对应的RecvCnt值差异较大一般超过1个数量级则认为存在数据倾斜若个别ID的InQueue长期为100%则认为可能存在数据倾斜。 解决方案请您参看GROUP BY 数据出现热点、数据倾斜。
Q: 上线时指定15CU但是上线后实际消耗仅为10CU什么原因
A这种问题一般发生在Vertex只有一个节点的情况此时由于source上游的物理表的shard数为1Flink要求source的并发不能超过上游shard数导致无法增加并发因此亦无法增加到指定的CU数。 解决方案
增加上游物理表的shard数。将ID0的节点中的operator拆开将source节点GROUP中的operator chainingStrategy修改为HEAD将其从GROUP中拆解出来然后手动配置调优。
Q: 上线时出现如左上图的告警或出现诸如“Cannot set chaining strategy on Union Transformation”错误如何处理
A这是由于作业的SQL有改动导致DAG改变。 解决方案通过重新获取配置解决开发-基本属性-跳转到新窗口配置-重新获取配置信息。 原文链接 本文为云栖社区原创内容未经允许不得转载。