The NeoLoad Load Generators are the components doing most of the hard work of simulating users. Achieving heavy loads requires an execution environment that favors intensive computing.
It is recommended to use Load Generators on machines other than the one hosting the Controller.
Heavy load tests, particularly those that include numerous Virtual Users, and complex scenarios using regular expressions and validation, usually require the available memory to be increased on both the Load Generators and the Controller:
lg.launcher.vm.parametersproperty in the
LoadGeneratorcategory to set the new limit. For example:
lg.launcher.vm.parameters=-XX:MaxRAMFraction=4sets the limit at 1/4 of the total system memory (x64 default settings).
lg.launcher.vm.parameters=-XX:MaxRAMFraction=2sets the limit at 1/2 of the total system memory.
lg.launcher.vm.parameters=-Xmx800msets the limit at 800 MB (x86 default settings).
lg.launcher.vm.parameters=-Xmx512msets the limit at 512 MB.
lg.launcher.vm.parameters=-Xmx4gsets the limit at 4 GB.
It is necessary to ensure that the physical memory on the machines hosting the Controller and the Load Generators is always large enough for the JVM memory never to be swapped by the operating system. This means that the physical memory of the machine must be larger than the heap size defined for the JVM. For certain specific environments (LG for instance) setting large values for the
-Xmx option interferes with the space allocated to threads, so the size of the heap must leave enough space for thread allocation.
Generally speaking, 64-bit multiprocessor environments are advised. Neotys provides 64-bit versions of its Load Generator and Load Generator code is optimal on multi-core processors. It all depends of course on how heavy the test loads need to be. It is useful to keep in mind that a 32-bit application cannot use more than 1.5 Gb of memory. If the tests require more than 2 Gb, a 64-bit machine must be used. Also it is useful to keep in mind that a 64-bit Load Generator consumes roughly 25% more memory than a 32-bit configuration to manage the address space.
In rare cases where memory problems persist even after having increased the allocated memory, the NeoLoad Support teams can help fine-tune specific configuration items. This usually includes defining the native stack size (
-Xss JVM argument) and the garbage collector settings.
When testing under heavy loads, CPU, memory and network resources may be severely tested. It is strongly advised that a platform administrator is present during these tests to modify the Load Generators virtual machines configuration if required. It is also advised to apply all patches available for the virtualization software prior to testing.