PSQL v11 SP1 - Performance Counters

Analyzing Performance

 Pervasive PSQL Server v11 SP1 provides performance counters for use with the Windows Performance Monitor. These counters are supported only on Windows Vista or later Windows operating systems. The performance counters measure state or activity of the database engine, which allows you to analyze the performance of your application.

The counter values reflect all calls into the database engine regardless of their source. That is, the transactional interface, relational interface, native Btrieve applications, utilities etc. all contribute to counter values. The counters are organized into data collector sets: MicroKernel Btrieve Operations, MicroKernel Cache, MicroKernel I/O, MicroKernel Locks and Waits and MicroKernel Transactions.

What follows is a brief description of each of the counters. For more detail on analyzing performance and to get started using the Windows Performance Monitor, please read the Advanced Operations Guide, Chapter 5 Performance.

MicroKernel Btrieve Operations

These counters are useful for characterizing the behavior of client applications in terms of the Btrieve interface. The counters report the types of operations being processed by the database engine at a given point in time.

MicroKernel Btrieve Operations
Counter/Description Typical Use
Close Operations Per Second General application behavior
Get/Step Operations Per Second
Open Operations Per Second
Records Deleted Per Second
Change Operations Per Second
Page Server Requests Per Second
 

 

MicroKernel Cache

L1 and L2 Cache performance counters can be used to view how successfully the database engine avoids disk reads and to determine if any changes need to be made to the cache size settings.

MicroKernel Cache
Counter/Description Typical Use
L1 Cache Dirty % (percentage of L1 Cached in use that contains dirty pages) To help determine if heavily accessed pages are being forced out of the cache, which may hurt performance.
L1 Cache Hits Per Second Higher ratio of hits to misses indicates that the engine is finding pages in L1 without needing to access L2 or disk.
L1 Cache Hits Ratio
L1 Cache Misses Per Second
L1 Cache Usage Aid in adjusting size of L1 cache to fit application(s).
L2 Cache Hits Per Second Indicates that the engine is finding pages in L2 without needing to access disk.
L2 Cache Hits Ratio
L2 Cache Misses Per Second
L2 Cache Row Size Help determine the optimal L2 Cache size.
L2 Cache Row Usage
L2 Cache Row Size as % of Memory Shows what percentage of the total system memory the L2 Cache is using
L2 Cache Usage % of L2 Cache currently being used
 

 

MicroKernel I/O

The counters in this set are useful for understanding the interactions of the database engine and data read and written to disk.

MicroKernel I/O
Counter/Description Typical Use
Pages Read Per Second General application and system I/O performance
Pages Written Per Second

 

MicroKernel Locks and Waits

These counters give insight into the types of database resources on which a client request may have to wait and provide clues about database engine performance during multi-client access. A value close to or equal to the number of clients may indicate collisions for the same resources..

MicroKernel Locks and Waits
Counter/Description Typical Use
Client Record Locks Evaluate work load of client application
Waits on Active Writer Lock (number of clients waiting on the Active Writer Lock)
Waits of File Locks
Waits on Page and Record Locks
Waits on Page Buffers Indicates whether or not the database engine has a page buffer available in cache.
Waits on Page Reads Helps determine if the memory caches are too small to contain all of the pages frequently accessed and modified.

 

MicroKernel Transactions

These counters are useful for understanding application behavior in terms of transactions. For example, a few long-lasting transactions that involve many changes affect performance differently than many short-lived transactions.

MicroKernel Transactions
Counter/Description Typical Use
Systems Transactions in Progress Determine if system transactions are occurring too frequently or not often enough.
Transaction Commits Per Second
CLOSE
CLOSE