The Grinder is an open source load testing solution that operates on a Java Virtual Machine. This gives The Grinder a great degree of portability. The tool is also exceedingly simple to set up, requiring only that the user follow a few simple steps. Installing The Grinder is as simple as downloading a JAR file and placing it in the correct CLASSPATH. Once this has been done, the program is easily invoked from the command line.

Depending on the requirements of the load testing scenario, The Grinder may either run from one machine, or from a multitude of machines. The Grinder organizes machines as Agents that manage a series of Workers on each computer. Setting up a machine as a load injector is much the same as starting the console controller, in that the program is invoked from the console in a similarly simple fashion. Each Agent is represented as an independent process, with Workers themselves beginning their own processes. Concurrent virtual users are created via threads, managed under each Worker process.

The Grinder is currently in its third iteration, presenting a fairly mature tool that is well documented. Load scenarios are scripted via Jython, a Java port of the Python language. In creating a load scenario, the user selects from a list of scripts and attaches them to the list of events scheduled to take place. As the test runs, each script is repeatedly run, with the response times averaged. Workers report data every 500ms, producing an accurate picture of application performance.

Although The Grinder creates an accurate picture of application performance, it does not directly represent the user experience. Modern web browsers load a page concurrently through two or more threads, so The Grinder is not really a way of knowing how long the page takes to “load.” The Grinder is highly useful for testing the response time of specific tasks.

The Grinder is particularly useful during earlier stages of development, when a user interface has not become fully operational. The program is capable of testing specific scripts and sections of code, making it useful for early benchmarking. This can prevent bottlenecks and inefficiencies later in the development cycle.

Combining ease of setup, portability, scalability, and affordability, The Grinder is a great solution for any team looking to fine tune the performance of their web application.

Attachment Size
grinder-faq.pdf 117.07 KB
grinder-manual.pdf 606.41 KB

Similar Posts