观远 BI

内存负载

创建于 2022-10-27 / 最近更新于 2022-10-31 / 1922
字体: [默认] [大] [更大]

问题场景一:内存使用率过高

问题原因

建议查看指标「节点内存使用率各时间段趋势图」,若内存使用率持续30分钟超过95%警戒线,说明内存使用率过高,可能造成该现象的原因如下:

(1)任务运行时间过于集中,出现了资源排队现象。

(2)ETL运行、卡片导出任务占用了大量内存。

排查思路

我们建议您按照如下思路进行排查:

(1)参考指标「节点内存使用率各时间段趋势图」,观察内存使用率是否长期处于高水位。

内存使用率长期处于高水位,说明内存资源不足。

?优化措施

若想要保证业务运行效率、避免内存不足影响业务,建议考虑如下方案:

a. 单Job-engine时,建议在Control Tower设置资源隔离,保障重要任务运行;

b. 如有预算,建议进行扩容。具体扩容方案请联系观远数据进行评估。

(2)检查「最近30天内Guan-Index类型卡片的平均排队与运行时长分布」、「昨日数据集更新任务分布」与「昨日ETL运行任务分布图」中,任务是否较为集中(大量任务运行时段与内存使用率高峰时段重合)。

检查「最近30天内Guan-Index类型卡片的平均排队与运行时长分布」图中,找到排队时间分布深色区域明显(占比超过20%)的日期,点击柱子下钻,找到当日深色区域明显的时段。若深色区域明显的时段大于5个,说明大部分系统运行时间都出现了排队现象,会造成较高的内存占用。

检查「昨日数据集更新任务分布」与「昨日ETL运行任务分布图」,观查柱状图高峰时段是否与内存使用率高峰重合。

?优化措施

建议在保证业务运行的前提下,在内存高峰期分散作业,减少高峰时段运行的任务。您可点击分布图中有警告标志的柱子或深色立柱进行下钻,按照运行时间将任务进行排序。您可点击操作对象进行跳转,查看ETL/数据集的资源血缘,了解其是否有上游关联。在不影响业务的前提下,对定时更新任务设置错峰运行。

问题场景二:CPU使用率过高

问题原因

建议查看指标「节点CPU使用率各时间段趋势图」,若CPU使用率持续30分钟超过95%警戒线,说明CPU使用率过高,可能造成该现象的原因如下:

(1)任务运行时间过长,造成了资源阻塞。

(2)任务运行时间过于集中,CPU使用分布不均衡。

排查思路

我们建议您按照如下思路进行排查:

(1)参考指标「节点CPU使用率各时间段趋势图」,观察CPU使用率是否长期处于高水位。

CPU使用率长期处于高水位,说明CPU资源不足。

?优化措施

若想要保证业务运行效率、避免CPU占用高影响业务,建议考虑如下方案:

a. 单Job-engine时,建议在Control Tower设置资源隔离,保障重要任务运行;

b. 如有预算,建议进行扩容。具体扩容方案请联系观远数据进行评估。

(2)检查高峰时段的运行任务。

您可点击「节点CPU使用率各时间段趋势图」进行下钻,按照运行时长进行排序,找到运行时间长(运行时间>60min)的任务。

?优化措施

(1)对于卡片任务与数据集更新任务,您可在“管理员设置-运维管理-任务管理”中,将”任务名称“作为”操作对象“检索,了解此类历史运行时长,来判断任务运行时间是否”异常“。如无异常,则检查卡片对应数据集和数据集的行列数大小,判断数据集更新方式是否有优化空间(尽量采用增量更新方式)。

(2)对于ETL运行任务,建议多个输出数据集节点的情况下:

a. 若在ETL中共用的节点较多,则将共用部分单独做ETL处理,并把该ETL的输出数据集作为原ETL的输入数据集,避免相同数据的重复计算;

b. 若ETL中共用的节点较少,则将不同处理过程分拆成独立的ETL,使多个ETL并行更新,提升运算效率。

(3)完成以上优化后,如需平衡资源使用时间,您可点击操作对象进行跳转,查看ETL/数据集的资源血缘,了解其是否有上游关联。在不影响业务的前提下,对定时更新任务设置错峰运行。

(3)检查「昨日数据集更新任务分布」、「昨日ETL运行任务分布」图中,任务是否较为集中(大量任务运行时段与CPU使用率高峰时段重合)。

您可点击分布图中有警告标志的柱子进行下钻,按上一步提供的处理方式进行调整。

问题场景三:CPU负载过高

问题原因

建议查看指标「服务器CPU负载(System Load)趋势图」,若CPU负载持续30分钟超过95%警戒线,说明CPU负载过高,将产生任务排队现象。可能造成该现象的原因如下:

(1)任务运行时间过长,造成了资源阻塞。

(2)任务运行时间过于集中,CPU使用分布不均衡。

排查思路

我们建议您按照如下思路进行排查:

(1)参考指标「服务器CPU负载(System Load)趋势图」,观察CPU负载是否长期处于高水位。

CPU负载长期处于高水位,说明CPU资源不足。

?优化措施

若想要保证业务运行效率、避免CPU占用高影响业务,建议考虑如下方案:

a. 单Job-engine时,建议在Control Tower设置资源隔离,保障重要任务运行;

b. 如有预算,建议进行扩容。具体扩容方案请联系观远数据进行评估。

(2)检查「节点CPU使用率各时间段趋势图」。

找到高峰时段的运行任务,您可点击「节点CPU使用率各时间段趋势图」进行下钻,按照运行时长进行排序,找到运行时间长(运行时间>60min)的任务。

?优化措施

您可点击操作对象进行跳转,查看该ETL/数据集的资源血缘,了解其是否有上游关联。在不影响业务的前提下,对定时更新任务设置错峰运行。

(3)检查「昨日数据集更新任务分布」与「ETL运行任务分布」图中,任务是否较为集中(大量任务运行时段与CPU负载高峰时段重合)。

建议在不影响业务运行的前提下,在CPU负载高峰期分散作业,减少高峰时段运行的任务。您可点击分布图中有警告标志的柱子进行下钻,按照运行时长进行排序。

?优化措施

对运行时间长(超过60min)的任务,在不影响业务的前提下,考虑是否可以移至低峰时段运行。


322 人点赞过