Free Tools for Performance Testing

Performance testing can be a time consuming and sometimes expensive activity. Many people use the same methods over and over again. This article is for those who want to know more about free tools which can be used for Performance Testing. I hope you find the information useful.

There is a lot being said these days about performance testing. But how many of us have actually been able to do a complete one?  Whether it’s a website or an application, you can improve your site’s performance significantly by running a simple performance test. On the other hand you’ll have to have being doing performance testing long enough to understand why this works and what not to test (I found out the hard way). I was delighted, therefore, to discover free tools for performance testing on the web. Using some of these tools successfully enabled me to optimize my own blog and save quite a bit of cash on my hosting bill.

JMeter

The Apache JMeter application is open source software. It is a pure Java application designed to load test an application and measure its performance.

Gatling

Gatling is a highly capable load testing tool. It is designed for ease of use, maintainability and high performance.

Locust

Locust is an easy-to-use, distributed, user load testing tool. It is intended for load-testing websites (or other systems) and figuring out how many concurrent users a system can handle.

Tsung

Tsung is an open-source multi-protocol distributed load testing tool. It can be used to stress HTTP, WebDAV, SOAP, PostgreSQL, MySQL, LDAP, MQTT, and Jabber/XMPP servers.

Siege

Siege is an HTTP load testing and benchmarking utility. Siege supports basic authentication, cookies, HTTP, HTTPS and FTP protocols. It lets its user hit a server with a configurable number of simulated clients.

Httperf

Httperf is a tool for measuring web server performance. It provides a flexible facility for generating various HTTP workloads and for measuring server performance.

Taurus

Although not specifically related to Perf testing, Taurus provides an automation-friendly framework for continuous testing, including functional and performance.

Artillery

Artillery is a modern, powerful & easy-to-use load testing and functional testing toolkit. Use it to ship scalable applications that stay performant & resilient under high load. 

Goad

Goad takes full advantage of the power of Amazon Lambdas for distributed load testing. You can use goad to launch HTTP loads from up to four AWS regions at once. Each lambda can handle hundreds of concurrent connections, able to achieve peak loads of up to 100,000 concurrent requests

Apache Bench

ab is a tool for benchmarking your Apache Hypertext Transfer Protocol (HTTP) server. It is designed to give you an impression of how your current Apache installation performs.

Fiddler with BlackWidow and Watcher 

This might seem like an odd combination to have on a performance tool list.

But performance engineering expert Todd DeCapua in a previous PerfGuild conference session recommended using Fiddler with Watcher and BlackWidow to create a quick-start automation testing performance solution.

Fiddler enables you to do many things, but it’s probably best described as a packet capture tool.

While Fiddler may not be considered a load testing solution it does many things that allow you to debug website issues, and with one of its many extensions, you can accomplish even more.

Some things you might want to use Fiddler for:

  • Troubleshooting issues with your web application
  • Security testing
  • Performance evaluations
  • Debugging web traffic from most computers and devices
  • Many integration features
  • Handy for finding performance bottlenecks
  • Fiddler is already a pretty popular tool among developers. Many use it for debugging to view the HTTP requests their computer is sending to a service or website.

Watcher is a security add-in for Fiddler which will enable you to get some security results quickly. BlackWidow is a web crawler that gives you the functionality to point it towards a web address and then be able to drill down on results.

For someone who’s just getting started in performance engineering, these three tools working together can provide a great way to get that free look and feel as well as results that one might not otherwise be able to obtain quickly.

Todd actually has a session during a past PerfGuild Online Conference where he gives a demo of this approach.

LoadNinja

LoadNinja Logo Color

LoadNinja by SmartBear allows you to quickly create scriptless sophisticated load tests, reduces testing time by 50%, replaces load emulators with real browsers, and get actionable, browser-based metrics, all at ninja speed.

You can easily capture client-side interactions, debug in real-time, and identify performance problems immediately. LoadNinja empowers teams to increase their test coverage without sacrificing quality by removing the tedious efforts of dynamic correlation, script translation, and script scrubbing.

With LoadNinja, engineers, testers and product teams can focus more on building apps that scale and focus less on building load testing scripts.

Features:

  • Scriptless load test creation & playback with InstaPlay recorder.
  • Real browser load test execution at scale.
  • VU Debugger – debug tests in real-time.
  • VU Inspector – manage virtual user activity in real-time.
  • Hosted on the cloud, no server machine & upkeep required.
  • Sophisticated browser-based metrics with analytics and reporting features.

ReadyAPI Performance

ReadyAPI Logo

SmartBear offers an all-in-one automated API Testing Platform called ReadyAPI. It contains various tools like Swagger & SwaggerHub, SoapUI NG, ReadyAPI Performance, Secure Pro, ServiceV, and AlertSite.

ReadyAPI Performance is an API tool for load testing. This API testing tool will assure you that your APIs can perform anywhere. It will let you install load agents on any server or cloud as well as on-premise. It provides advanced performance metrics for load test runs.

SoapUI NG is a tool for functional testing and you can use these functional testing use cases designed in the SOAPUI for performance testing.

This load testing tool will help you with testing the speed, scalability, and performance of the APIs, Servers, and Network Resources. It has features of flexible load generation, parallel API load tests, server monitoring, and pre-built load templates.

nGrinder 

nGrinder‘s GitHub page describes it as having been designed to be an enterprise-level performance engineering solution. It was developed to make stress testing easy and to provide a platform that allows you to create, execute, and monitor tests.

Features:

  • You can write your tests using Jython or Groovy to create test scenarios and create stress against JVM using multiple agents.
  • It can extend tests with customer libraries like jar and py
  • Allows you to monitor the state of your performance agents load generation
  • Take care of automatically collecting test results from distributed agents after tests

The Grinder

The Grinder is a Java-based framework. It provides you with easy-to-run and -create distributed testing solutions using many load generator machines to capture your end-users response times. So you don’t have to worry about any virtual users restrictions.

  • You can perform load testing on any system that has a Java API
  • A nice GUI console
  • It automatically handles the management of client connections and cookies

Conclusion

To be honest I really like tools, and playing with them – this is actually my favorite hobby. So I always look for new tools for testing and try to find out how they can make my life easier. Many of such tools are absolutely free, but the rest (paid) also worth trying – at least to be used as a comparison. I think that performance testing should be taken seriously and the professional approach starts with using good free tools.

Leave a Comment