Configure the Load Generators
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.
- Tip: For configuration and maintenance reasons, it is advised to set Load Generators of the same capacity.
Allocate sufficient memory to the machines hosting Controllers and Load Generators
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:
- For the Controller, see Plan for large amounts of memory for the NeoLoad Controller.
- For the Load Generators:
- Edit the <loadgenerator>/conf/agent.properties file
- Edit the lg.launcher.vm.parameters property in the LoadGenerator category to set the new limit. For example:
- lg.launcher.vm.parameters=-XX:MaxRAMFraction=4 sets the limit at 1/4 of the total system memory (x64 default settings).
- lg.launcher.vm.parameters=-XX:MaxRAMFraction=2 sets the limit at 1/2 of the total system memory.
- lg.launcher.vm.parameters=-Xmx800m sets the limit at 800 MB (x86 default settings).
- lg.launcher.vm.parameters=-Xmx512m sets the limit at 512 MB.
- lg.launcher.vm.parameters=-Xmx4g sets the limit at 4 GB.
- When working on a stand-alone Load Generator, restart the Load Generator process or service.
When the Load Generator is integrated into the Controller, stop and then restart NeoLoad.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 Neotys 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.
Caution when using virtual environments
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.
Home