监视数据流引擎的性能

Integration Services 提供了用于监视数据流引擎性能的两个方法:

  • 可以使用日志记录捕获有助于计算执行时间和识别包中性能问题的事件。

  • 可以监视性能计数器,它度量与数据流性能相关的多个项。

有关如何提高性能的信息,请参阅改进数据流的性能

通过使用日志记录捕获事件来监视性能

可以捕获 PipelineComponentTime 运行时事件以解决数据流性能问题。有关如何使用日志记录捕获事件的信息,请参阅在包中实现日志记录

使用性能计数器监视性能

Integration Services 安装一组性能计数器,可用于监视数据流引擎的性能。例如,可以监视 "Buffers spooled" 计数器,以确定在运行包时数据缓冲区是否正在临时写入磁盘。此交换会降低性能并指示计算机内存不足。

注意注意

如果在运行 Windows Server 2003 的计算机上安装 Integration Services,然后将该计算机升级到 Windows Server 2008,则升级过程会从该计算机删除 Integration Services 性能计数器。若要还原计算机上的 Integration Services 性能计数器,请在修复模式下运行 SQL Server 安装程序。

下表介绍了这些性能计数器:

性能计数器

说明

BLOB bytes read

数据流引擎从所有源中读取的二进制大型对象 (BLOB) 数据的字节数。

BLOB bytes written

数据流引擎已写入所有目标的 BLOB 数据的字节数。

BLOB files in use

数据流引擎当前用于假脱机的 BLOB 文件数。

Buffer memory

正在使用的内存数量。这可能包括物理内存和虚拟内存。如果该数字大于物理内存量,则 Buffers Spooled 计数将随内存交换的增加而增加。内存交换的增加会降低数据流引擎的性能。

Buffers in use

数据流组件和数据流引擎当前使用的各种类型的缓冲区对象的数量。

Buffers spooled

当前写入磁盘的缓冲区的数量。如果数据流引擎运行时物理内存较低,则当前没有使用的缓冲区会被写入磁盘,然后在需要时重新加载。

Flat buffer memory

所有平面缓冲区使用的内存总量(以字节为单位)。平面缓冲区是组件用于存储数据的内存块。平面缓冲区是可逐字节访问的大型字节块。

Flat buffers in use

数据流引擎使用的平面缓冲区的数量。所有平面缓冲区都是专用缓冲区。

Private buffer memory

所有专用缓冲区所使用的内存总量。如果数据流引擎创建的是一个支持数据流的缓冲区,则该缓冲区就不是专用缓冲区。专用缓冲区是指转换仅用于临时工作的缓冲区。例如,聚合转换使用专用缓冲区来完成其工作。

Private buffers in use

转换使用的缓冲区的数量。

Rows read

源产生的行数。该数值不包括查找转换从引用表中读取的行数。

Rows written

提供给目标的行数。该数值不反映写入目标数据存储区中的行数。

您可以使用 Microsoft 管理控制台 (MMC) 管理单元“性能”来创建一个捕获性能计数器的日志。

添加包含数据流引擎的所有性能计数器的新日志

  1. 在**“控制面板”中,单击“管理工具”,再单击“性能”**。

  2. 在**“性能”对话框中,展开“性能日志和警报”,右键单击“计数器日志”,再单击“新建日志设置”**。键入日志的名称。例如,键入 MyLog。

  3. MyLog 对话框中,单击**“添加计数器”**。

  4. 在**“添加计数器”对话框中,选择“性能对象”框中的“SQL Server:SSISPipeline”**。

  5. 选中**“所有计数器”复选框,选择“添加”**,然后关闭这些对话框。

    注意注意

    必须使用属于 Administrators 组成员的本地帐户或域帐户启动性能日志和警报服务。

外部资源

Integration Services 图标(小) 使 Integration Services 保持最新

若要从 Microsoft 获得最新的下载内容、文章、示例和视频,以及从社区获得所选解决方案,请访问 MSDN 或 TechNet 上的 Integration Services 页:

若要获得有关这些更新的自动通知,请订阅该页上提供的 RSS 源。

请参阅

任务

概念