Dataflow 在其基于 Web 的监控界面中提供了执行详情标签页。您可以使用此标签页中的信息优化作业性能,并诊断作业运行缓慢或卡滞的原因。启动作业后,您可以使用 Dataflow 监控界面查看执行详情标签页。如需了解详情,请参阅访问 Dataflow 监控界面。
此功能不会额外增加您的虚拟机的 CPU 或网络用量。执行详情由 Dataflow 后端监控系统收集,因此不会影响到作业的性能。
本页面简要介绍了执行详情功能及其界面布局。如需了解更多问题排查信息,请参阅流水线问题排查和调试。
何时使用执行详情
下面是运行 Dataflow 作业时应该使用执行详情的常见场景:
- 您的流水线卡滞,并且您希望排查问题。
- 您的流水线速度缓慢,您想要有针对性地优化流水线。
- 您不需要修复任何问题,但您希望查看流水线的执行详情以了解作业。
术语
为了有效使用执行详情,了解以下概念如何应用于 Dataflow 作业会很有帮助。
Dataflow 术语
- 融合优化:Dataflow 融合多个步骤或多项转换的过程。此过程会优化由用户提交的流水线。如需了解详情,请参阅融合优化。
- 阶段:Dataflow 流水线中融合步骤的单元。
- 最后阶段:Dataflow 流水线中的最后一个节点。一个流水线可以有多个最终节点。
批量术语
- 关键路径:影响整个作业运行时的流水线的阶段序列。例如,此序列不包括以下阶段:
- 在整个作业完成之前就已经完成的流水线分支。
- 不会造成下游处理延迟的输入。
- 工作器:运行 Dataflow 作业的 Compute Engine 虚拟机实例。
- 工作项:与 Dataflow 选择的软件包对应的工作单元。
流式术语
- 数据新鲜度:实时与输出水印之间的时间长度。如需了解详情,请参阅数据新鲜度。
使用“执行详情”标签页
执行详情标签页包含四个视图:阶段进度、阶段信息面板(位于阶段进度内)、阶段工作流和工作器进度。
系统会自动为所有批量作业和流式作业启用阶段工作流视图。批量作业和流式作业还具有阶段进度视图,并且批量作业额外还有一个工作器进度视图。
本部分将逐步介绍每个视图,并提供成功和失败的 Dataflow 作业示例。
批量作业的阶段进度
批量作业的阶段进度视图显示作业的执行阶段(按作业开始时间和结束时间排列)。该时长通过条形表示。例如,您可以通过观察最长的条形来直观地辨别流水线中最长的运行阶段。
每个条形旁边都有一个迷你图,显示相应阶段随时间推移的进度。要突出显示影响作业整体运行时的阶段,请点击关键路径切换开关。 此外,您可以使用过滤阶段,仅选择您感兴趣的阶段。
流式作业的阶段进度
流式作业的阶段进度视图可分为两个部分。视图的前半部分显示了一个图表,表示作业的每个执行阶段的数据新鲜度。将鼠标悬停在图表上,即可提供该特定时刻的数据新鲜度值。
视图的下半部分显示作业的执行阶段,按拓扑顺序排列。首先显示没有后代阶段的阶段,然后是其后代。此视图可以更轻松地识别流水线的阶段,这些阶段花费的时间比预期长。这些栏的大小是相对于整个时域最长的数据新鲜度调整大小的。
流式作业在取消、排空或更新之前一直运行。
- 使用图表中显示的时间选择器,将时域限定为更有用的时间范围。
- 使用过滤阶段菜单选择您感兴趣的阶段。
阶段进度视图可通过以下两个不同方式帮助您识别流式作业缓慢或卡住的时间:
数据新鲜度(按阶段)图表包含异常检测,自动显示数据新鲜度看起来健康状况不佳的时间窗口。当数据新鲜度超过选定时间窗口的第 99 百分位时,该图表会突出显示“潜在的卡顿”。同样,当数据新鲜度超过第 95 百分位时,该图表会突出显示潜在的缓慢。
将鼠标悬停在图表中显示意外结果的时间上,即可检测瓶颈。条形越长,表示相应阶段越慢。或者,您也可以点击图表的 x 轴来显示这段时间的数据。查找导致卡滞或缓慢的阶段的常见方法是查找导致数据新鲜度处于峰值的最上游(最顶层)或最下游(最低层)阶段。此方法并不适用于所有使用场景,并且您可能需要进一步调试才能确定确切原因。
阶段信息面板
阶段信息面板显示与融合阶段相关联的步骤列表,并按实际用时降序排列。如需打开该面板,请将指针悬停在阶段进度视图中的其中一列上,然后点击查看详细信息。
阶段工作流
阶段工作流显示作业的执行阶段(以工作流图表示)。如需仅显示对作业整体运行时产生直接影响的阶段,请点击关键路径切换开关。
工作器进度
对于批量作业,工作器进度显示特定阶段的工作器。此视图不适用于流式传输作业。
每个条形均映射到一个调度到工作器的工作项。跟踪工作器上 CPU 利用率的火花图表位于每个工作器旁边,便于您更轻松地发现利用率过低的问题。
由于此直观图表的密度,您必须预先选择一个阶段来过滤此视图。首先,在阶段进度视图中确定一个阶段。将光标悬停在该阶段上,然后点击查看工作器以进入工作器进度视图。
后续步骤
- 详细了解如何排查作业缓慢或卡住的问题。
- 了解 Dataflow 基于网络的监控界面的不同组件。