Process - LifeCycle (Entity State) (Status)
JMeter can download the relevant resources but it does not process the HTML and execute any Javascript functions.
The GUI console is for:
XML processing is CPU intensive because it need to build a DOM and will rapidly consume all the CPU cycles. As a general rule, the performance of XML centric applications will perform 4-10 slower than applications using binary protocols.
Avoid:
Prefer:
Start the load in Non-Gui Mode
Different data and log files for each test run, for example:
jmeter -n -t testplan.jmx -l testplan_01.jtl -j testplan_01.log
jmeter -n -t testplan.jmx -l testplan_02.jtl -j testplan_02.log
where:
log_file='jmeter_'yyyyMMddHHmmss'.tmp' This can be used to generate a unique name for each test run.
Configure the JMeter Java options to meet your requirements.
Remove all listeners (such as “View Results Tree” or any of the graphical reporting listeners) Listeners receive Sample Results and do some processing with it, this takes resources. They can cause the console to freeze without providing any prior alert.
The following Listeners no longer need to keep copies of every single sample. Instead, samples with the same elapsed time are aggregated. Less memory is now needed:
The best listeners to use for a long-term, high-load test are:
Always generate Graphs and Reports AFTER the Load Test.
To minimise the amount of memory needed, use the Simple Data Writer, and use the CSV format.
Set CSV as output for SaveService because:
In the user.properties file, add:
jmeter.save.saveservice.output_format=csv
jmeter.save.saveservice.data_type=false
jmeter.save.saveservice.label=true
jmeter.save.saveservice.response_code=true
jmeter.save.saveservice.response_data.on_error=false
jmeter.save.saveservice.response_message=false
jmeter.save.saveservice.successful=true
jmeter.save.saveservice.thread_name=true
jmeter.save.saveservice.time=true
jmeter.save.saveservice.subresults=false
jmeter.save.saveservice.assertions=false
jmeter.save.saveservice.latency=true
jmeter.save.saveservice.bytes=true
jmeter.save.saveservice.hostname=true
jmeter.save.saveservice.thread_counts=true
jmeter.save.saveservice.sample_count=true
jmeter.save.saveservice.assertion_results_failure_message=false
jmeter.save.saveservice.timestamp_format=HH:mm:ss
jmeter.save.saveservice.default_delimiter=;
jmeter.save.saveservice.print_field_names=true
If you reach the limits of one machine, you can switch to distributed or remote testing. JMeter defaults are not fine for efficient remote testing, so in user.properties, add:
mode=StrippedBatch
to: