性能计数器

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

注释

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

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

性能计数器 DESCRIPTION
BLOB 字节读取 数据流引擎从所有源中读取的二进制大型对象 (BLOB) 数据的字节数。
写入的 BLOB 字节数 数据流引擎已写入所有目标的 BLOB 数据的字节数。
正在使用的 BLOB 文件 数据流引擎当前用于假脱机的 BLOB 文件数。
缓冲区内存 正在使用的内存数量。 这可能包括物理内存和虚拟内存。 如果该数字大于物理内存量,则 Buffers Spooled 计数将随内存交换的增加而增加。 内存交换的增加会降低数据流引擎的性能。
正在使用的缓冲区 数据流组件和数据流引擎当前使用的各种类型的缓冲区对象的数量。
Buffers Spooled 当前写入磁盘的缓冲区的数量。 如果数据流引擎运行时物理内存较低,则当前没有使用的缓冲区会被写入磁盘,然后在需要时重新加载。
平面缓冲区内存 所有平面缓冲区使用的内存总量(以字节为单位)。 平面缓冲区是组件用于存储数据的内存块。 平面缓冲区是可逐字节访问的大型字节块。
正在使用的平面缓冲区 数据流引擎使用的平面缓冲区的数量。 所有平面缓冲区都是专用缓冲区。
专用缓冲区内存 所有专用缓冲区所使用的内存总量。 如果数据流引擎创建的是一个支持数据流的缓冲区,则该缓冲区就不是专用缓冲区。 专用缓冲区是指转换仅用于临时工作的缓冲区。 例如,聚合转换使用专用缓冲区来完成其工作。
正在使用的专用缓冲区 转换使用的缓冲区的数量。
读取的行数 源产生的行数。 该数值不包括查找转换从引用表中读取的行数。
写入的行 提供给目标的行数。 该数值不反映写入目标数据存储区中的行数。

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

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

获取性能计数器统计信息

对于部署到 Integration Services 服务器的项目,可以通过使用 dm_execution_performance_counters(SSISDB 数据库)函数获取性能计数器统计信息。

在下面的示例中,该函数将返回 ID 为 34 的正在运行的执行的统计信息。

select * from [catalog].[dm_execution_performance_counters] (34)  

在下面的示例中,该函数返回正在 Integration Services 服务器上运行的所有执行的统计信息。

select * from [catalog].[dm_execution_performance_counters] (NULL)  
  

重要

如果你是 ssis_admin 数据库角色的成员,则会返回所有正在运行的进程的性能统计信息。 如果您不是 ssis_admin 数据库角色的成员,则会返回您对其具有读取权限的正在运行的执行的性能统计信息。

另请参阅

项目和包的执行