Improve load test performance on multi-processor machines
This post is about improving the performance of a load test when running the test on a multi-processor machine. If you are running on a multi-processor machine it is much better to have the process which is generating load use server GC as opposed to workstation GC. By default, processes will use workstation GC. For more information on the differences between the 2, check out these posts:
https://blogs.msdn.com/clyon/archive/2004/09/08/226981.aspx
https://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag/html/scalenetchapt05.asp
To enable your application to use Serve GC, you need to modify either the VSTestHost.exe.config or the QTAgent.exe.config. If you are not using a Controller and Agent setup, then you need to modify the VSTesthost.exe.config. If you are using a controller and agent, then modify the QTAgent.exe.config for each agent machine.
Open the correct file. The locations are
VSTestHost.exe.config - C:\Program Files\Microsoft Visual Studio 8\Common7\IDE
QTAgent.exe.config - C:\Program Files\Microsoft Visual Studio 2005 Team Test Load Agent\LoadTest
To enable gcserver you need to add the following line in the runtime section:
<gcServer enabled="true" />
It should look something like:
<?xml version ="1.0"?>
<configuration>
<runtime>
<gcServer enabled="true" />
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="PrivateAssemblies;PublicAssemblies"/>
</assemblyBinding>
</runtime>
</configuration>
Comments
Anonymous
December 15, 2006
This post is about improving the performance of a load test when running the test on a multi-processorAnonymous
August 05, 2008
We’ve had a number of users (both external and internal to Microsoft) report OutOfMemoryExceptions occurring