Performance Tuning for Mercury Interactive's LoadRunner

Mercury Interactive's LoadRunner is the main tool that I use for performance testing, and to really get the most out of the tool, there are some things that will help 'tune' your LoadRunner installation so that it will scale better (for testing, of course :-) ). Some of these tips were available in LoadRunner's guide and web site, some I've picked up along the way. Unfortunately, I've mostly only used LoadRunner in Windoze environment, so most of these only applies to that OS only -- sorry.

LR 6.5 Tuning for Web testing

This seems to be the best set of patches to use for performing Web based performance testing:

  1. Install LR 6.5 locally. Do not even bother with Network Installation, as most updates will require updates to local workstation anyway.
  2. Install Service Pack 1.1b (LiveUpdate 1.1).
  3. Install LR 6.51 Patch 10 (Web Scalability Patch).
  4. Install LR 6.51 Patch 33 (Web Recorder General Patch on top of Web Scalability Patch).

On all machines, make the following changes (part of Web Scalability Patch)

To enable the increased number of Vusers, modify the following settings on each host machine:

  1. Edit the mdrv.dat file, located in the LoadRunner dat directory. Modify the QTWEB and lrun_comm sections and set ExtMessageQueue to zero:


  2. Edit the miccomm.ini file in the Windows directory. Edit the frpc section and set routeToNormalRpc to zero:
    Note: On Windows 2000 Advanced Server with Terminal Service, the MICCOMM.INI file may be located in the Documents and Settings\<User name>\Windows directory. Edit the file at this location.
    Important: If you modify mdrv.dat, you must also modify miccomm.ini. If you installed LoadRunner as a workstation installation, and changed mdrv.dat at the network installation machine, change miccomm.ini on all of the workstation installation machines.

Changes to Windows Registry

Web scalability patch will add some Windows registry entries to help tune the TCP stack.
Make the following modification to the Windows Registry:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\SubSystems\Windows

The existing value is probably something like this:
%SystemRoot%\system32\csrss.exe ObjectDirectory=\Windows SharedSection=1024,3072 Windows=On SubSystemType=Windows ServerDll=basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=winsrv:ConServerDllInitialization,2 ProfileControl=Off MaxRequestThreads=16

The SharedSection=1024,3072 key has the format xxxx,yyyy where:
xxxx defines the maximum size of hte system-wide heap (in kilobytes)
yyyy defines the size of the per desktop heap.
Change the yyyy seting to 8192 (which is 8MB).
Close regedt32.

Change the second numeric value in the 'Windows SharedSection=1024,3072 Windows' to '4096' or other higher

Tech Page @