Jmeter, Ubuntu and Drupal - Setting up Load Testing

By peterm, 20 May, 2018

Tags

In preparing for the next iteration of campus maps, I've been studying our options for hosting and trying to develop data we can use to tune the application. In order to do so, it makes sense to capture load test data and work with the data to then tune caching options.

The difference between our old map application and the new version is Drupal. The old version is a series of static html pages; the new version uses Drupal, OpenLayers, CCK, Views and a few other modules to deliver a different type of experience.

In order to not reinvent the wheel, I did some googling and came up with a number of pre-built tests and articles. I've take the basics and then tweaked them to better match what I think a good use case will be for the maps site. 

Tools

I wanted to run Jmeter. I thought I'd host it on one of our Ubuntu Lucid servers. So I ran apt-get install jmeter and about 190Mb of install later we had a download. I mistakenly took the java warning messages as a failure. In retrospect, I think they were just java output. In the interim, I went out and grabbed a binary copy of Jmeter and installed it into /usr/local.

Connection

Long ago, I used to run Xwin apps with my various variants of Linux; starting with Slackware in the 90's and continuing on into Gimp on my Mac laptop. I launched the X app on my Mac and ran the commands:

ssh -X hostname

sudo ./jmeter &

and voila! I had a Jmeter window that looks like this.

Next is to begin fine tuning the load tests and interpreting the data. I went back and configured a test to record myself stepping through the site. I picked 10 pages at random. I then configured JMeter to run a test consisting of 100 threads (users) taking 10 seconds to ramp up and then repeating the test 100 times.