Skip to content

Latest commit

 

History

History
77 lines (56 loc) · 4.01 KB

README.md

File metadata and controls

77 lines (56 loc) · 4.01 KB

JMeter

Table of content

JMeter is one of the load generators used in Kangal. A powerful tool which can be used for different performance testing tasks.

Currently, Kangal uses the docker image hellofresh/kangal-jmeter based on JMeter v5.5.

Apache JMeter features include ability to create and run performance test for different applications/server/protocol types:

  • Web - HTTP, HTTPS (Java, NodeJS, PHP, ASP.NET, …)
  • SOAP / REST Webservices
  • Database via JDBC
  • LDAP
  • and many more ...

Kangal requires a jmx testfile describing the test. To create and edit jmx files we recommend you to install JMeter locally.

Installing JMeter for local test development

  1. Install Java 11+ from official Java site.
  2. Install JMeter v5.5 from official JMeter site or using brew.
  3. Run JMeter UI from your terminal by command jmeter or follow the official documentation.

Required JMeter plugins

  1. Check if you have Plugins Manager installed, if not follow the official instructions.
  2. Open JMeter UI and click the right button in the top row.
  3. In the opened window got to Available Plugins tab and chose the plugin from the list. Then press Apply Changes and restart JMeter button.

List of external JMeter plugins used in Kangal setup:

You can also use and modify example test files from Kangal repository as described at docs/jmeter/writing-tests.md. Reading the official documentation is strongly recommended to understand major concepts.

Configuring JMeter resource requirements

By default, Kangal does not specify resource requirements for loadtests run with JMeter as a backend.

You can specify resource limits and requests for JMeter master and worker containers to ensure that when the load generator runs, it has sufficient resources and will not fail before the service does.

The following environment variables can be specified to configure this parameter:

JMETER_MASTER_CPU_LIMITS
JMETER_MASTER_CPU_REQUESTS
JMETER_MASTER_MEMORY_LIMITS
JMETER_MASTER_MEMORY_REQUESTS
JMETER_WORKER_CPU_LIMITS
JMETER_WORKER_CPU_REQUESTS
JMETER_WORKER_MEMORY_LIMITS
JMETER_WORKER_MEMORY_REQUESTS

For the full list of possible environment variables check Kangal environment variables

More information regarding resource limits and requests can be found in the following pages:

Writing tests

Read more at docs/jmeter/writing-tests.md.

Reporting

Read more at docs/jmeter/reporting.md.