JMeter Best Practices

Jmeter has some limitations especially when it is run in a distributed environment. Following these guidelines will assist in creating a real and continuous load:

  1. Do not use the Console to create your load . You can use the console for debugging purposes or to run a small load from it to make sure the script is running correctly. The GUI consumes a lot of memory under heavy load, therefore the console server by itself can not sustain a heavy load.
  2. Use the remote servers to create the load . Use the “Remote Start All” or “Remote Start” individual servers.
  3. Limit the number of threads per engine to 300 . This means the total number of threads generated by your test plan should be less than 300. The overall number of threads running from BlazeMeter will be the total number of threads multiplied by the number of JMeterEngines. For example, a test plan with 200 threads and 4 JMeterEngines, will generate a load of 800 threads.
  4. Disable the “View Result Tree” listener as it consumes a lot of memory and can result in the console freezing or JMeter running out of memory. It is, however, safe to use the “View Result Tree” listener with only “Errors” checked. 
  5. Disable all JMeter graphs as they consume a lot of memory. You can view all of the real time graphs using the JTLs tab in your web interface.
  6. Monitor the logs . Any errors in the test plan or the test itself will appear in the log files that are available online under the Logs tab. For example: Out of Memory, disconnections etc.
  7. Do not forget to erase the local path from CSV Data Set Config if used.
  8. File names should include only alphanumeric characters, underscores or hyphens: [0-9],[aA-zZ],[_-]. File names should always include an extension .
  9. Clean the Files tab prior to every test run.

Best Practice Using JTL files

If you are using JTL files, we recommend following these guidelines:

  1. Assign a meaningful JTL file name . For example: 150210-4000t-1.jtl. Do not use spaces in the JTL file name.
  2. Make sure that the JTL file is saved in XML format and not CSV.
  3. Visit the JTLs tab at least once to generate the real-time reports.
  4. Use short and meaningful names for labels identifying controllers and samplers (for example HTTP requests). If you use long names, the names themselves will take the better part of the graphs generated using the JTLs tab.


Want to take your JMeter testing to the next level?

Run your own JMeter scripts in the cloud (JMeter-as-a-service) with up to 1,000,000 concurrent users, real time reporting and nice looking graphs :)
Want to learn more? You'll want to view our on-demand recording, How to Create Advanced Load Testing Scenarios with JMeter.
Have more questions? Submit a request


Please sign in to leave a comment.