Recently I was involved in a high priority performance testing effort. The tools at hand were
Webload and
WAPT. I have previous experience with
Webload so that is the initial path we took. The testing effort is relatively simple. The goal was to have concurrent users doing a series of gets and posts.
Clarification the posts are actually http puts. I quickly could not find a way to get
Webload to emulate an http put. Further
complicating things was the system under test,
SUT, requires secure header keys. Information on the
internet on
Webload seemed very limited and I was not able to rapidly find the answers to these two concerns.
The time line was limited so there was not bandwidth for a coding effort nor to purchase any new tool.
We quickly turned to
JMeter. This is going to be a short post, but there are a couple of key advantages we had with
JMeter.
Observed advantages:
- JMeter out of the box could handle puts
- JMeter worked well with RAKE
- Fast installation and short learning curve
- Easily extensible
- Ability to run headless (no GUI) via RAKE
Observed dis-
advantantages:
- Executing tests with the GUI dropped threads as load increased due to utilization of machine java processes
- graphic listeners are of extremely poor quality
- A single instance appears to be limited to approximately 300 concurrent threads
The bottom line to this post is that
JMeter came to the rescue and has sound potential for future performance projects.
There are some key action items for me.
- Evaluate the ability to distribute load across several machines
- Evaluate the ability of JMeter to interact with Web-based applications (ajax stuff etc...)
- Develop Ruby scripts to calculate and report out data metrics as the number of transactions increase.
- Understand the limitations of this tool
- Evaluate other open source plugins developed for JMeter
I am looking forward to working more closely with the development teams to expand the use of
jMeter for performance testing.
Happy Testing!