Using JMeter

Load testing


JMeter is one of many tools that can do server load testing. The notable others being Apache Benchmark and HTTPerf. I couldn’t get either of them to work for a few annoying reasons, so I put all my effort in getting JMeter working, which, unlike the others, actually has a GUI interface and doesn’t require staring at documentation to understand.

So let is say you are trying to load test server (like me) with multiple threads and such. The first thing to be done is to create a thread group under Test Plan. The number of threads is well, the number of threads to use and loop count is basically request amount. For ramp-up time I put like 30 seconds; it doesn’t seem to take that long but it is a recommended amount for many threads.

After that is, well, what you are testing or what route you are slamming. Which can be set easily using the HTTP Request Defaults config element, which is put under the thread group. Everything is under the thread group. The particular settings that should be put in the defaults is the server-name/IP and Port. For locally run server, the form is just localhost and the latter is the port.

Then comes the specific route to be tested which is added as a HTTP request sampler. The points that need to be modified are method, which is the HTTP method, and path which is the route from base. So the main page is just / . If you want a particular assertion add an assertion to that request and decide what you want to test.

Then to view the results of it, you could view them as a tree or table. Tree is easier to read, I think. They are both under listeners. Just add them to the group and when you press run it’ll collect all the responses.

And that is basically it. It takes a little bit of getting used to, layout-wise, but once acclimated it is nice to navigate and use.