What if the load test tool itself can not handle load?
You use load test tools to break application software you are testing. What if the tool itself breaks and the applications under test do not even have a dent?
This is exactly what happened when using JMS protocol in HPPC ( Loadrunner). There is a memory leak in HPPC when using JMS. The mmdrv.exe process invokes JVM (in-process) during use of one of the jms functions (jms_send_message_queue).
During one of our tests we started getting out of memory error. Of course if you increase the JVM heap ( using -Xmx ) the error will be delayed but the fact remains it is leaking memory. It was very embarrassing to tell the application team that our tool is breaking during load testing.
We have been trying desperately to get HP to admit and fix it but they are making us go around in circle. We used JConsole to monitor the JVM and prove to them that there is a leak but they still do not get it. The only thing that is left is for us to now fix the code for them.
In order to use JConsole with loadrunner JMS, you need to add the following in the -Dcom.sun.management.jmxremote in the “Additional VM Parameters” in order for JConsole to connect to the JVM. Once you do that you can see the JVM memory keep on climbing inspite of you manually invoking GC.
Are you listening HP?