INF: The "I/O - Transactions/sec" Counter in SQL Perf Monitor

ID: Q136117


The information in this article applies to:


SUMMARY

The SQL Server Performance Monitor counter "I/O - Transactions/sec" reports the number of "batches" received per second.


MORE INFORMATION

A batch is a set of SQL statements submitted together and executed as a group. For example, the following set of statements would be counted as a single transaction by SQL Performance Monitor:


   begin tran
   insert table1 values ("A")
   commit tran
   begin tran
   delete table2 where key = "D"
   commit tran
   go 

Specifically, the SQL Performance Monitor counter "I/O - Transactions/sec" is incremented by a language event, an RPC event, or by cursor async keyset generation. A language event occurs when a batch is received. An RPC event occurs when a DB-Library client submits a batch via dbrpcsend() or dbrpcexec(). It also occurs if an ODBC client submits a batch in certain ways, such as if "Generate Stored Procedures for Prepared Statements" is selected, or if a stored procedure is invoked via the CALL statement.

For more details on language and RPC event handlers, see the SQL Server ODS documentation under the heading "Event Handler Interface".

As the documentation correctly says, it's not really transactions/sec, although in many cases (like the TPC-B benchmark) it will closely approximate it. This would especially be so if transactions aren't split across batches, and if multiple transactions/batch aren't used.

Additional query words: sql6 Perfmon TPS counters


Keywords          : kbtool SSrvGen 
Version           : 4.2 6.0
Platform          : WINDOWS 
Issue type        : 

Last Reviewed: April 16, 1999