As the essential component that contains samplers and logic controllers, the Thread Group is the element that most JMeter tests start with. JMeter uses a Thread Group as the container to define a collection of simulated users. In this way, one or more requests contained within the Thread Group will follow a prescribed virtual user count, ramp-up time, and looping over this configuration if desired.
Above is an example of how a basic Thread Group might be configured. This thread group would proceed to start 100 independent threads over the course of one minute (60 seconds) and perform this operation for 10 iterations before closing. If we were to visualize our test in terms of its request profile as planned against a single endpoint, the following graph would represent the frequency and volume of requests generated:
Running this test in a real-world scenario approximates this profile, but due to external factors such as network traffic and response times we obtain the following result:
This illustrates an important point that Thread Groups should be used as a planning tool when creating your load tests. Due to external factors, the test may not always run as planned – but often this is desirable as it reveals performance insights into your load test application. The basic Thread Group is the core component from which more advanced thread components expand upon. If you are interested in learning more about advanced thread groups, check out our post on Custom Thread Groups and the Arrivals Thread Group.
Did you know that RedLine13 offers a full featured, time limited free trial? Sign up now and move your JMeter testing to the cloud today!