监视数据流引擎的性能
Integration Services 提供了用于监视数据流引擎性能的两个方法:
可以使用日志记录捕获有助于计算执行时间和识别包中性能问题的事件。
可以监视性能计数器,它度量与数据流性能相关的多个项。
有关如何提高性能的信息,请参阅改进数据流的性能。
使用性能计数器监视性能
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) 管理单元“性能”来创建一个捕获性能计数器的日志。
添加包含数据流引擎的所有性能计数器的新日志
在**“控制面板”中,单击“管理工具”,再单击“性能”**。
在**“性能”对话框中,展开“性能日志和警报”,右键单击“计数器日志”,再单击“新建日志设置”**。键入日志的名称。例如,键入 MyLog。
在 MyLog 对话框中,单击**“添加计数器”**。
在**“添加计数器”对话框中,选择“性能对象”框中的“SQL Server:SSISPipeline”**。
选中**“所有计数器”复选框,选择“添加”**,然后关闭这些对话框。
注意 必须使用属于 Administrators 组成员的本地帐户或域帐户启动性能日志和警报服务。
外部资源
bidshelper.codeplex.com 上的 CodePlex 项目 SSIS Performance Visualization for Business Intelligence Development Studio(Business Intelligence Development Studio 的 SSIS 性能虚拟化)
msdn.microsoft.com 上的视频 Measuring and Understanding the Performance of Your SSIS Packages in the Enterprise(测量和理解 SSIS 包在企业中的性能)
|