This applies to LR 11.x and LR 9.x using the web (http/html) protocol.
Sometimes it’s necessary in loadrunner to capture a large amount data with a web_reg_save_param function. Let’s say we want to capture an entire page response into a param for data extraction.
First off we need to set web_set_max_html_param_len(“X00000″); to be able to capture the entire page size in the script vuser_init. If your setting is too small your web_reg_save_param function will throw an error.
Normally that’s all you need to do to get the script working in vugen. However when you kick off a test you may run into issues. Here are some of the errors you may encounter:
Error -26000: Error: Out of memory !
Error — memory violation : Exception ACCESS_VIOLATION received.
I have found that when you run a large number of these virtual users under a single LR process you can run into memory issues and either the load generator or loadrunner process will terminate unexpectedly.
If you open up Run-time Settings for your script in HP Virtual User Generator -> General -> Miscellaneous so will see that the default setting for Multithreading is set to ‘Run Vuser as a process’.
Most of the time changing this setting to ‘Run Vuser as a thread’ will resolve your issues assuming your load generators have enough free memory to run your XX virtual users each under their own mdrv.exe process. Basically if you run 500 users on a single LG you will see 500 instances of this process present.
If your system doesn’t have enough memory for the above setting something else to try is reducing the number of threads that run under a single mdrv.exe process.
Open C:Program FilesHPLoadRunnerconfigwlrun7.ini
Modify the key AgentMaxThreadsPerDriver=50 to 25 or lower.
This will force loadrunner to spawn more instances of mdrv.exe since each process can only the number of VUs specified by the above key.