Reading Performance Counters on Vista and Server 2008 Machines


Users commonly experience problems collecting counters during a load test. These problems come in two flavors: 1) they are not able to collect any counters at all from a machine or machines, and 2) they see gaps in the counter collection. This article addresses the first problem.


If you are experiencing this problem, you’ll see errors in the load test of the form:



Exception LoadTestCounterCategoryNotFoundException 3 The performance counter category ‘Network Interface’ cannot be accessed on computer ‘VSNC’ (Access is denied) ; check that the category and computer names are correct. 


The “gold standard” for understanding whether or not remote counter collection is enabled is to run perfmon.exe as the user who is collecting the counters. Simply logon as that user and run perfmon and add a counter from the machine you are collecting from. If you are running user a controller and agents, you must log on as the controller service user.


If you experience problems connecting to the computer, follow these steps.


In order to allow remote performance counter collection for a machine, you need to follow these steps on the machine you are collecting from. Note if you are using a test controller, the user account is the account the controller service is running as. If you are running load tests locally, the counters are collected using your user credentials.


  1. Run WF.msc 


    1. Enable the Performance Logs & Alerts firewall exception
    2. On Vista, enable the File and Printer Sharing firewall exception

  2. Run lusrmgr.msc


    1. Add the user to the Performance Log Users, Performance Monitor Users, or Administrators group.
    2. Add the user to the Event Log Readers group

  3. Run services.msc 


    1. Set the Performance Logs & Alerts service to autorun

    2. Set the Remote Registry service to autorun

  4. Run secpol.msc to assign the Log on as a Batch User privilege to Performance Log Users and Performance Monitor Users group:


    1. In Local Security Policy navigate to Local Policies -> User Right Assignment

    2. Double-click on “Log on as batch job”

    3. Add Performance Log Users group

    4. Add Performance Monitor Users group

Open a command prompt and rebuild all counters on the machine by running



lodctr /r


This Technet article goes through these various steps as well.

Here’s a summary:





























Vista/Server 2008


Able to view counters


Able to log counter data


Prompts a elevation to query counter data


Standard user


No


No


No


Admin


Yes


Yes


Yes


Performance Log Users


Yes


Yes


No


Performance Monitor Users Group


Yes


No


No


I believe the steps are the same for Server 2003, but need to confirm that.


Hope that helps,


Ed.

Comments (5)

  1. This is a common question that I hear from customers in configuring load testing in their environments,

  2. I’ve updated my Load Test Links post with links to new posts, as well as added some links to content

  3. Beware on Commerce server 2009 says:

    I followed the instructions below and after running the lodctr /r My commerce server started getting performance counter errors. I would recommend that you backup your perf counter stuff first by running lodctr /s before running it with the /r flag.

  4. Venkatesh says:

    We have created 11 web test scenarios and added those to load test ,then triggered the load test.

    After completing the test successfully.we have started looking for all the requests response times in the Tables view.Unfortunately we are unable to see all the requests ,some requests are missing in the Request Tab in Tables View.

    Where as when we run the load test with 5 web test scenarios it is working fine.

    Is there any limitation on the number of requests displayed in the request tab of Tables View ?

    Please share your input ASAP.