Monday, November 12, 2012

Load Testing with JMeter Plugins

JMeter has come a long way since I first used it about 10 years ago.  At that point I mainly used it to test JMS messages.  Now with the ability to record interactions with web pages and the plethora of samplers, timers, processors, etc it can perform some decent load testing of web applications with the help of some plugins.

The Google Code project JMeter Plugins adds a couple thread groups to allow creation of threads at various points during the test.  It can be found at http://code.google.com/p/jmeter-plugins/.With the basic thread groups in JMeter this was not possible or at least not easy.  Other handy features such as a parameterized controller allow you to create modules and re-use them by passing in different parameters to modify their input and behavior.

There are some limitations I've found which are possible to work around, but can be a little frustrating.  For example, the Ultimate Thread Group shows a nice graph of the number of threads and the durations after you plugin the parameters into the thread group setup.  However, if you intend to dynamically fill those values with user defined variables, then you are out of luck and there won't be a graph displayed to show you what you have just setup.  It will still work however and you can just create another thread group and plugin your actual numbers to see the graph in order to verify your assumptions, but obviously it's not as nice as if it were able to resolve the values and show the graph in the first place.  This may not be a limitation of the plugin itself, but rather a trade-off you'll have to make for re-usability sake.  The Stepping Thread Group doesn't appear to support user defined variables in the setup of the thread group.  So with that one you'll get your pretty graph, but you won't have much flexibility when it comes to being able to swap user defined variables for different tests in and out.

There are also various listeners to be able to view response over time, throughput vs threads, etc.  They give you the type of information you would be looking for when load testing.

If you want to be able to simulate a stepped stress test or load test the JMeter Plugins have very useful features to get the test up and running.

No comments:

Post a Comment