性能计数器
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) 管理单元“性能”来创建一个捕获性能计数器的日志。
有关如何提高性能的信息,请参阅数据流性能特点。
获取性能计数器统计信息
对于部署到 Integration Services 服务器的 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 数据库角色的成员,则返回您对其具有读权限的正在运行的执行的性能统计信息。 |
相关内容
codeplex.com 上的工具 Business Intelligence Development Studio 的 SSIS 性能可视化(CodePlex 项目)。
msdn.microsoft.com 上的视频测量和了解 SSIS 包在企业中的性能(SQL Server 视频)。
support.microsoft.com 上的支持文章升级到 Windows Server 2008 后性能监视器中不再提供 SSIS 性能计数器。
|