Applies To: SQL Server 2016
Integration Services installs a set of performance counters that you can use to monitor the performance of the data flow engine. For example, you can watch the "Buffers spooled" counter to determine whether data buffers are being written to disk temporarily while a package is running. This swapping reduces performance and indicates that the computer has insufficient memory.
The following table describes the performance counters.
|BLOB bytes read||The number of bytes of binary large object (BLOB) data that the data flow engine has read from all sources.|
|BLOB bytes written||The number of bytes of BLOB data that the data flow engine has written to all destinations.|
|BLOB files in use||The number of BLOB files that the data flow engine currently is using for spooling.|
|Buffer memory||The amount of memory that is in use. This may include both physical and virtual memory. When this number is larger than the amount of physical memory, the Buffers Spooled count rises as an indication that memory swapping is increasing. Increased memory swapping slows performance of the data flow engine.|
|Buffers in use||The number of buffer objects, of all types, that all data flow components and the data flow engine is currently using.|
|Buffers spooled||The number of buffers currently written to the disk. If the data flow engine runs low on physical memory, buffers not currently used are written to disk and then reloaded when needed.|
|Flat buffer memory||The total amount of memory, in bytes, that all flat buffers use. Flat buffers are blocks of memory that a component uses to store data. A flat buffer is a large block of bytes that is accessed byte by byte.|
|Flat buffers in use||The number of flat buffers that the Data flow engine uses. All flat buffers are private buffers.|
|Private buffer memory||The total amount of memory in use by all private buffers. A buffer is not private if the data flow engine creates it to support data flow. A private buffer is a buffer that a transformation uses for temporary work only. For example, the Aggregation transformation uses private buffers to do its work.|
|Private buffers in use||The number of buffers that transformations use.|
|Rows read||The number of rows that a source produces. The number does not include rows read from reference tables by the Lookup transformation.|
|Rows written||The number of rows offered to a destination. The number does not reflect rows written to the destination data store.|
You use the Performance Microsoft Management Console (MMC) snap-in to create a log that captures performance counters.
For information about how to improve performance, see Data Flow Performance Features.
For Integration Services projects that are deployed to the Integration Services server, you can obtain performance counter statistics by using the dm_execution_performance_counters (SSISDB Database) function.
In the following example, the function returns statistics for a running execution with an ID of 34.
select * from [catalog].[dm_execution_performance_counters] (34)
In the following example, the function returns statistics for all the executions running on the Integration Services server.
select * from [catalog].[dm_execution_performance_counters] (NULL)
Tool, SSIS Performance Visualization for Business Intelligence Development Studio (CodePlex Project), on codeplex.com.
Video, Measuring and Understanding the Performance of Your SSIS Packages in the Enterprise (SQL Server Video), on msdn.microsoft.com.
Support article, The SSIS performance counter is no longer available in the Performance Monitor after you upgrade to Windows Server 2008, on support.microsoft.com.
Execution of Projects and Packages