YOU CAN GET THE ACTUAL BLOBS FROM https://bosh.io/releases/github.com/jamlo/jmeter-bosh-release?all=1 . I'LL KEEP THIS REPO UP FOR HISTORICAL REFERENCE
Tornado for Apache JMeter™, is a BOSH release for Apache JMeter™. It simplifies the usage of JMeter™ in distributed mode.
Storm
and Tornado
modes.This mode is used when the collection of the results for JMeter™ plan execution is necessary. It works by spinning n
number of VMs that will act as JMeter™ workers. Those VMs will run JMeter™ in server mode, and wait for an execution plan to be delivered to them. When all the workers are up, a BOSH errand can be manually triggered where it will send the execution plan to the workers, waits for them to finish execution, collect the results, and download these results to the users local machine.
Release jobs used in this mode: jmeter_storm_worker
and jmeter_storm
.
Note: The worker VMs and the Errand VM should be in the same subnet. Also, if you're supplying a pre-built JMeter™ jmx plan, it should have a definite number of loops and should not be set to loop forever, else the errand execution will never end.
A snippet of a deployment manifest for this mode can be found here.
This mode is more suitable in the scenario where the simulation of large number of active users is more important than collecting the results logs; for example, detecting the behaviour of an application under continuous heavy traffic. An n
number of VMs will start, each provided the same execution plan, where they will loop indefinitely. You can tune the number of working VMs directly through BOSH.
Release jobs used in this mode: jmeter_tornado
.
Note: If you are supplying a pre-built JMeter™ jmx plan, it should set the
loop indefinitely
flag to true.
A snippet of a deployment manifest for this mode can be found here.
Choose a mode that suites your objective.
To create a test plan, you have 2 options:
.jmx
file (xml). This JMX XML plan will be supplied as a property of your job.Dependending on the mode you chose, deploy the manifest and run accordingly.
8.8.8.8
DNS server. This will limit the overhead that may occurred during DNS lookup, thus making the test results more realistic.name: jmeter_storm
release: jmeter-tornado
properties:
generate_dashboard: true
wizard:
configuration:
users: 50 # Number of users per VM
ramp_time: 20 # In seconds
duration: 600 # Test duration in seconds
targets:
- name: GET with Headers
url: "http://api.example.com:8080/greeting/get/"
http_method: GET
headers:
- name: "Authorization"
value: "Basic Y2F0Om1lb3c="
name: jmeter_storm
release: jmeter-tornado
properties:
generate_dashboard: true
wizard:
configuration:
users: 100
ramp_time: 30
duration: 300
targets:
- name: POST with Headers and Body
url: "http://api.example.com:8080/greeting/post/"
http_method: POST
headers:
- name: "Authorization"
value: "Basic Y2F0Om1lb3c="
options:
request_body: |
{"name" : "i am a post", "age" : 425}
name: jmeter_tornado
release: jmeter-tornado
properties:
wizard:
configuration:
users: 50
ramp_time: 30
targets:
- name: GET with Headers
url: "http://api.example.com:8080/greeting/get/"
http_method: GET
headers:
- name: "Authorization"
value: "Basic Y2F0Om1lb3c="
name: jmeter_tornado
release: jmeter-tornado
properties:
wizard:
configuration:
users: 70
ramp_time: 20
targets:
- name: PUT with Headers and Body
url: "http://api.example.com:8080/greeting/put/"
http_method: PUT
headers:
- name: "Authorization"
value: "Basic Y2F0Om1lb3c="
options:
request_body: |
{"name" : "i am a put", "age" : 525}
Apache™ License, Version 2.0. See the LICENSE and NOTICE files for more information.
Apache, Apache JMeter, and JMeter are trademarks of the Apache Software Foundation(ASF)
This project uses Ruby JMeter. See License for more details