任务和作业统计 - WallClockTime和ExecutionInformation

时间:2017-07-07 17:08:02

标签: azure-batch

我正在尝试收集有关我提交给Azure批处理池的云任务和作业的一些统计信息和性能指标。为此,我使用内置的TaskExecutionInformation和TaskStatisitics类,但我对如何通过这些类计算某些指标感到困惑。具体来说,我想知道我的每个任务执行需要多长时间,所以我检查了build.statistics中内置的wallclocktime,以及task.ExecutionInformation中内置的开始和结束时间之间的差异,这两者是不同的。

  1. 如何在任务统计中计算挂钟时间?为什么它与通过任务执行信息获得的开始和结束时间之间的时差不同?

  2. 此外,我注意到对于相同的任务处理,任务执行的挂钟时间差异很大(在我的方案中从0.6秒到21秒)。什么可能导致如此大的差异?

  3. 谢谢!

1 个答案:

答案 0 :(得分:0)

  1. 统计信息的Wallclock时间是进程结束时间与其创建时间之间的差异。这些时间来自任务命令行指定的创建过程。您可以从executionInformation计算的时差不仅包括流程执行时间。这是从节点获取任务到任务在节点上完成的时间,其中包含批处理服务所需的元数据和状态更新。这次可能包括下载资源文件等内容。
  2. 由于您正在将流程作为流程本身的一部分下载,因此可以通过从Azure存储(或您的流程涉及的任何其他噪声源)检索此数据来获得差异。如果您能够将blob作为资源文件移动并且您的进程不包含任何其他变量执行部分,则应该在逐字任务之间看到更一致的挂钟时间(由任务统计挂钟时间报告)。