若要查找耗时最长的步骤,可以查看甘特图或其下方的表。
在甘特图中,每个条形的长度表示该步骤花费的时间,条形长度越长的步骤花费的时间就越长。 还可以按“总持续时间”筛选下表。 选择表中的某一行时,也会在甘特图中显示相应的节点。 在甘特图上选择条形时,也会在表中突出显示它。
在表中,“重用”用回收图标表示。
如果选择节点名称旁边的日志图标,则会打开详细信息页,其中显示参数、代码、输出、日志等。
如果尝试缩短节点的队列时间,可以更改计算节点编号并修改作业优先级,以便在此节点上获取更多计算资源。
如何查找每个状态下运行时间最长的节点
除了总持续时间外,还可以按每个状态的持续时间进行排序。 例如,可以按“准备”持续时间进行排序,以查看哪个步骤在映像生成方面花费的时间最多。 然后,可以打开详细信息页以确定映像生成由于超时问题而失败。
如果发现持续时间问题,该怎么办
状态和定义:
它意味着什么?
作业从客户端提交并在 Azure 机器学习服务中被接受。 此阶段花费的时间主要用于 Azure 机器学习服务计划和预处理。
如果没有后端服务问题,则此时间应该较短。
通过 Azure 门户创建支持案例。
在此状态下,作业正在等待作业依赖项的一些准备工作,例如环境映像生成。
如果使用策划或注册的自定义环境,则此时间应该较短。
检查映像生成日志。
作业正在等待计算资源分配。 此阶段所花费的时间主要取决于计算群集的状态。
如果使用具有足够计算资源的群集,则此时间应该很短。
请与工作区管理员商议是增加目标计算的最大节点数,还是将作业更改为另一个不太繁忙的计算。
作业正在远程计算上执行。 此阶段所花费的时间主要分为两部分:
运行时准备:镜像拉取、docker 启动、数据准备(装载或下载)。
用户脚本执行。
此状态预计是最耗时的状态。
1. 转到源代码,检查是否存在任何用户错误。
2. 查看计算指标(CPU、内存、网络等)的监视选项卡以识别瓶颈。
3. 如果作业正在运行或在本地调试代码,请尝试使用
交互式终结点
进行联机调试。
作业在执行完成后处于后处理状态。 此阶段花费的时间主要用于一些后处理,例如:输出上传、指标/日志上传和资源清理。
它对于命令作业而言,将会很短。 但是,对于 PRS/MPI 作业来说可能很长,因为对于分布式作业,完成状态是从第一个节点开始完成到最后一个节点结束完成。
如果发现完成时间意外过长,或者要通过 Azure 门户创建支持案例,请将步骤作业输出模式从上传更改为装载。
甘特图的不同视图
你只会看到管道关键路径中的步骤作业(具有依赖项的作业)。
默认情况下,会显示管道作业的关键路径。
你将看到所有步骤作业。
在此视图中,你会看到比关键路径中更多的节点。
你将只能看到超过 30 秒的步骤作业。
分层视图。
你将看到所有作业,包括管道组件作业和步骤作业。
下载持续时间表
若要导出表,请选择“导出 CSV”。
本文介绍了如何调试管道故障。 若要详细了解如何使用管道,请参阅以下文章:
如何使用 python sdk v2 生成管道
如何使用 python CLI v2 生成管道
什么是机器学习组件