如何测量数据流任务中不同任务的持续时间?

时间:2012-08-21 12:29:47

标签: performance ssis dft

我正在努力优化data flow task,我想我会看到哪个组件占用了多少时间。我完成了这些任务:

enter image description here

我应该如何知道每次花多少时间?除了时间,如果我能找到其他资源,如内存,CPU等将是伟大的。

小学我在看每个组件的时间。

2 个答案:

答案 0 :(得分:4)

要快速查看已用时间,请参阅“执行结果”选项卡。它会显示 任务/组件启动和完成的经过时间。

另外

Monitoring Performance of the Data Flow Engine这是一个更多的参与 这样做会减慢我的电脑速度。 YMMV。

SSIS还包含一个非常好的错误,信息和无数的日志记录机制 其他事件,如果您需要解决问题:

从菜单SELECT SSIS,Logging ...

您需要指定提供商。保持简单,直到你掌握它为止 我建议文本文件的SSIS日志提供程序。它是CSV格式,您可以自定义 返回的信息。

要监控包中的所有组件: 单击Details选项卡,然后按照billinkc的建议选择OnInformation和OnPipelineRowsSent。请注意,Logging对于故障排除很有用,但OnPipelineRowsSent很详细,因此您可能希望在部署到生产时从日志中删除该事件,以减少写入时间和日志大小。

SSIS Log - For entire package

仅监控特定任务: 取消选中该程序包,然后从要监视的程序包树视图中检查数据流任务/组件。选择它之后,选择要使用OnInformation开始记录的事件(以及billinkc建议的OnPipelineRowsSent)。

SSIS Log - for specific component

答案 1 :(得分:2)

如果我想确定数据流上组件之间的时间,我使用本机日志记录并捕获OnPipelineRowsSent事件。这表示在转换之间移动了多少行。詹姆斯在sqlteam

上有一个很好的查询和写作

有一点需要注意,在包中存在数据流之前,您无法记录OnPipelineRowsSent事件。从创建模板包的角度来看,我总觉得这是一种耻辱。

相关问题