Software Engineering Group

Markov4JMeter – Probabilistic and Intensity-Varying Workload Generation for Session-Based Software Systems

The load and performance test tool Apache JMeter doesn’t support the definition of probabilistic user behavior, i.e. given a currently visited Web site, the next site to be requested is chosen based on configurable probability values.

A Markov Chain is a formal model having a number of states and transitions. Transitions between states are annotated with probabilities. The sum of probabilities of outgoing transitions must be one.

Markov4JMeter is a JMeter component which adds a new Controller, supporting the test plan execution based on probabilistic user behavior(s) itself based on the Markov Chain concept (as well as elements known from state machines, e.g. guards and actions). Moreover, Markov4JMeter enables the variation of the number of active parallel user sessions (threads) during test run – to be specified by user-definable mathematic formulae.


Markov4JMeter is licensed under the terms of the Apache License Version 2.0.

System Requirements

Markov4JMeter requires Apache JMeter 2.2 or higher (versions 2.3+, including the current 2.3.4 release, are supported) and Java 1.5 or higher. Note that JMeter 2.3.1 has a bug in the cookie manager!


We provide a tutorial which consists of installation instructions as well as a step-by-step description on how to develop a test plan with Markov4JMeter. It is included in each release. Additionally, we provide an HTML version of the tutorial.


Download Markov4JMeter (binaries and sources) from our Markov4JMeter project homepage at