Skip to end of metadata
Go to start of metadata

Download and Install

Download software from: http://jmeter.apache.org/download_jmeter.cgi

At this moment version 3.1, 3.2 and 3.3 have been used successfully for the benchmark script.

Unzip into e.g.: C:\Data\Yona\apache-jmeter-3.1

As expected Java is required for running the JMeter software. Check the bin\jmeter.bat for the MINIMAL_VERSION value

rem Minimal version to run JMeter 
set MINIMAL_VERSION=1.8.0 

Install Java, preferably use Java Server 64 bit!

C:\Software\jdk1.8.0_131\bin\java -version

Java(TM) SE Runtime Environment (build 1.8.0_131-b11)

Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

Additionally the JAVA_HOME can be set in the batch file when not set in the environment.

 
set JAVA_HOME="C:\Software\jdk1.8.0_131"
set PATH=%JAVA_HOME%\bin;%PATH%

Now create directory and run the JMeter from there.

cd c:\data\Yona
mkdir BenchmarkRun1
cd BenchmarkRun1
c:\data\Yona\apache-jmeter-3.1\bin\jmeter.bat

Starting gives a message like:

================================================================================ 
Don't use GUI mode for load testing, only for Test creation and Test debugging !
For load testing, use NON GUI Mode:   
jmeter -n -t [jmx file] -l [results file] -e -o [Path to output folder]
And adapt Java Heap to your test requirements:   
Modify HEAP="-Xms512m -Xmx512m" in the JMeter batch file
================================================================================

In the Task Manager check the arguments if the HEAP size is correctly passed to the JMeter.

For 100+ users use Java Server 64 bits and set below HEAP

set HEAP=-Xms2048m -Xmx4096m

For 500 users the java process grew to 3.8 GB of memory, running with 1000 users would need ~6 GB for HEAP.

Additional configuration

Download additional Plugins required for the benchmark from: https://jmeter-plugins.org/wiki/PluginsManager/

Download the Plugins Manager JAR file and put it into JMeter's lib/ext directory. Then start JMeter and go to "Options" menu to access the Plugins Manager.

For JMeter 3.1 the following Plugins are used:

 

 

Prepare environment and scripting for benchmark run

Create per benchmark run a directory.

Set the IP-address or Server name of the YONA server to be benchmarked and the app service port, e.g. 31002.

For all normal requests the default settings are in the "HTTP Request Defaults".

For sending Network activity the analysis engine service port must be used, e.g. 31001.

This is done per HTTP Request to set only the port according to the variable below.

Prepare benchmark scenario

Set the parameters inside the scenario as requested, TO BE DOCUMENTED 

Run benchmark via GUI

This should only be done for editing and single user testing.

cd c:\data\Yona
mkdir BenchmarkRun1
cd BenchmarkRun1
c:\data\Yona\apache-jmeter-3.1\bin\jmeter.bat

Open the jmx file containing the benchmark.

Run benchmark for load testing

First prepare the benchmark for the amount of time it should run and the number of parallel processes.

Open the *.jmx via JMeter and edit below parameters

Create a benchmark directory for the output e.g. benchmark-report-output

c:\data\Yona\apache-jmeter-3.1\bin\jmeter.bat -n -t YonaLoadTest.jmx -l YonaLoadTest.jtl -e -o benchmark-report-output

All other output is written in the directory where the benchmark is started!

Performance tuning of JMeter runs

Add below to apache-jmeter-3.3\bin\user.properties

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.response_message=false

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

 

 

  • No labels