4

I'm looking to choose the best tool to perform Load and Performance testing on my web based application. The content of the application is based on Jasper reports and I want to see the behavior of the application when it is accessed simultaneously by 500 users (for example). I've worked with JMeter but for me it is a little bit complicated and now I've find out about Locust.IO, a Python framework.

I want to know your opinion. What would you choose between these two and why? Which is the best language for Load and Performance testing ?

  • You ask two orthogonal questions. (Q2) If you know Java, you will be pleasantly surprised how much more productive you will be in Python (3 times boost, in my experience). – Peter M. Sep 14 '15 at 23:04
  • (Q1) I have no experience with JMeter, but from my experience with Java web frameworks, it seems that many people start developing java tool but it is often hard to use for community (or has horrible XML-based config, for enterprise use) so people develop another tool. Python code is more readable (readability is important), so code is easier to share, and to build a community around it. Java developers have bigger threshold for pain. :-) – Peter M. Sep 14 '15 at 23:04
  • I found Locust to be really straightforward and useful... that is until I really started increasing load. I can't seem to figure out if it's urllib2 or wsgiref that has a threading bug, but it's killing any usefulness that Locust offered. see stackoverflow.com/questions/383738/… or itmaybeahack.com/homepage/iblog/architecture/C551260341/…. – josh-cain Jul 19 '17 at 13:10
3

The most prominent load testing tools as for now are:

I would recommend checking out Open Source Load Testing Tools: Which One Should You Use? article which provides enough information to decide which one suits your needs in the best way.

Personal recommendation: if your project is based on Jasper Reports it means that it is Java based so I would choose JMeter as it is also pure Java application so you and developers could talk and use one language. JMeter can also be added to Continuous Integration process as it have Ant Task, Maven Plugin, can be launched via command-line or directly from Java code.

However if you consider JMeter too complex you can look at the new automation framework - Taurus which supports executing existing JMeter, Gatling, Grinder, Locust and Selenium tests and has capability of defining load test scenario in human-readable YAML files. In terms of simplicity it seems to be the best option available for the moment.

1

welcome to SQA Stack Exchange.

For the tools JMeter and Locust.IO, you have asked for opinion, which is completely out of scope of this site, as this site excludes opinion based questions.

But just want to shed some light over few concepts. Performance testing is completely independent of the language being used for creating performance scripts. Performance test results or your application performance may depend upon the language and technology used for building the application but not on the language used for testing its Response Time.

In a simple way, if you have to cover a distance of 60 miles then both Motorcycle and Car will take same time if both are running at same speed (remember both are running on different technologies), see what you are comfortable with. Selection of vehicle may depend upon the Budget or width of the road.

As long as any of the tools being considered are used in an efficient and recommended way, there is no difference which you are using. I have worked on JMeter and found it compatible with all types of Web Applications (.Net, JAVA, Wordpress, PHP, SharePoint etc.). But you should see if you are comfortable with using it or not. I have worked on other tools like Grinder, Test Studio, Load Runner.

For selecting a Performance test tool, the important part of the tool lies in the report it provides and how easy it is to understand and analyze, all the effort and time will go in vain, if one is not able to understand or explain the output i.e.

  1. Where is the bottle neck?
  2. If performance test is pass or fail?
  3. If application is supporting required number of users or not?
  4. Do we need hardware upgrade?

I will say try both the tools (as both are supporting web applications) with your application for some simple scenario (like developers use to print 'Hello World') and then see which one is easy, time saving & understandable to you and suffice your needs, then go for that.

0

The Grinder is a free Java-based load-testing framework available under a BSD-style open-source license. It was developed by Paco Gomez and is maintained by Philip Aston. Over the years, the community has also contributed many improvements, fixes, and translations. The Grinder consists of:

The Grinder Console - This GUI application controls various Grinder agents and monitors results in real time. The console can be used as a basic interactive development environment (IDE) for editing or developing test suites. Grinder Agents - Each of these are headless load generators can have a number of workers to create the load.

Key Features of The Grinder:

TCP proxy to record network activity into the Grinder test script. Distributed testing that scales with an the increasing number of agent instances. Power of Python or Closure, combined with any Java API, for test script creation or modification. Flexible parameterization, which includes creating test data on the fly and the ability to use external data sources like files and databases. Post-processing and assertion with full access to test results for correlation and content verification. Support of multiple protocols.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.