ADO.NET Performance Monitor Counters (PerfMon)

ADO.NET Performance Monitor Counters (PerfMon)

Posted on December 21, 2009 0 Comments




When talking about evaluating an effective software program, an efficient environment, or a powerful piece of hardware, how many times has someone said to me “performance isn’t important”? About the same number of times as I have won the lottery (hint: I am not writing this from a tropical beach). One of the biggest goals with data access is minimizing the time that users might be ‘waiting’ for data. The ability to measure that time, and other performance variables, is important if one wants to optimize their environment for stellar performance.

Progress DataDirect Connect for ADO.NET providers include a set of Performance Monitor counters that yields valuable information and allows users to tune their application for performance. Recently, I have been fielding more and more questions about Progress DataDirect ADO.NET Performance Monitor counters (PerfMon). While our PerfMon counters typically install themselves automatically – in some deployment scenarios, this may not be the case. I will share with you a ClickOnce tool which will make installing and registering PerfMon in those deployment situations much easier and much faster.

The following table outlines the information provided by the counters:

PerfMon Counter Counter Description
Current # of Connection Pools Returns the current number of pools associated with the process.
Current # of Pooled Connections Returns the current number of connections in all pools associated with the process.
Current # of Pooled and Non-Pooled Connections Returns the current number of pooled and non-pooled connections.
Peak # of Pooled Connections Returns the highest number of connections in all connection pools since the process started.
Total # of Failed Connects Returns the total number of attempts to open a connection that failed for any reason since the process started.

Several of my customers have reported using these counters to troubleshoot performance issues with their application. One in particular reported that in order to know how to optimize their application, they needed to know how many active connections their connection pools had at any given time, and most importantly, in REAL time. These tools have been instrumental in reducing the amount of time it takes to narrow down specific issues and test an optimally performing solution.


IIS is typically run as a network service – and for good reason. PerMon gets registered when you first run the Progress DataDirect ADO.NET providers. When using IIS, it is likely that network service users will not have the necessary permissions to install and register DataDirect performance monitor counters. If you are deploying to several IIS servers, you will need to register the PerMon counters on each server. We have developed a tool which will enable one person to log in as an administrator and install/register the DataDirect performance monitor counters, without having to compromise security for network service users. The person who installs and registers the counters must have IIS administrative permissions. Click to download the DataDirect Performance Counter Installation Tool.


Paul Griffin

View all posts from Paul Griffin on the Progress blog. Connect with us about all things application development and deployment, data integration and digital business.


Comments are disabled in preview mode.

Sitefinity Training and Certification Now Available.

Let our experts teach you how to use Sitefinity's best-in-class features to deliver compelling digital experiences.

Learn More
Latest Stories
in Your Inbox

Subscribe to get all the news, info and tutorials you need to build better business apps and sites

Loading animation