Testing applications with JMeter's master-slave setup
Out of the box, JMeter provides a way to perform distributed testing. This comes in the form of a master-slave setup. In this mode, there is a machine known as a master, which controls a number of client machines (JMeter instances) known as slaves. This approach has some benefits, including managing multiple JMeter instances remotely from the master node, automatically collecting test results from all slave nodes and aggregating them into a single report, and replicating test plans from the master node to slave nodes without the need to copy them to each server. That said, it also has some drawbacks, with the major one being the master quickly becoming a bottleneck as a result of collecting information from slaves in real time. In our experience, we have found this approach doesn't scale well if you have more than a couple of slave nodes. Refer to the other recipes in this chapter to see how to get past this hurdle.