Issue description:

You may notice that performance counters for database server does not show up in the load test report with VS2010 

Root cause:

Multiple instances of SQL server and delay in fetching the counters. In this case, there is actually a timeout scenario when the controller not able to fetch the counters in a stipulated time mentioned in the controller.exe.config file, by default this time is set to 1 min.

 

Environment:

Database server:
windows 2008 R2

 

Solution:

If there are more than one instances of SQL server installed on the database server from where you are trying to fetch the counters and also the operating system of database server is windows 2008 R2, then this blog should help you in resolving the issue.

 

We have seen that in the above scenario, it takes around 2-3 minutes for the counters to display from remote machine.

The  load test report will show the DB server with no information for the performance counters.

 

  1. Run the perfmon utility (Go to start --> run --> type 'perfmon' ) on the remote machine and try to fetch the performance counters of the database server, take a note of the time it is taking to display the counters. You may notice perfmon tool gets hang, so wait for it to respond.

      2. Now, go to the controller.exe.config on the controller machine  and modify the below keys with the time you have noticed it takes perfmon tool to display the counters. 

          In one case I had to  increase these values to 2400000, by default it was 60000.

 

         <appSettings>

          <add key="LoadTestCounterCategoryReadTimeout" value="2400000"/>

         <add key="LoadTestCounterCategoryExistsTimeout" value="2400000"/>

      < /appSettings>

 

You can find controller.exe.config file inside %ProgramFiles%\Microsoft Visual Studio 10.0\Common7\IDE at your test controller box.

Content developed by: Deepak Mittal 
Content reviewed by: Teodora Stanev