Top 5 Open Source Performance Testing Tools
There are many open source web application performance testing tools available on the market today. Deciding on which tool is right for you depends on several factors, such as what programming languages you’re familiar with, your specific project needs, skills, etc.
Since there aren’t any licensing costs associated with open source tools, they’re ideal for saving money on the front-end. Additionally, if you’re looking to integrate your own extensions or plug-ins, an open source tool might be right for you. However, keep in mind that commercially available tools, such as LoadView, tend to be easier to set up and typically offer more robust features.
Apache JMeter
JMeter is one of the more popular open source performance testing tools. It can record test scripts using point and click functionality and validates the scripts before running a load test. JMeter also includes BeanShell and Groovy, built-in components that extend dynamic Java syntax scripting languages.
While other open source load testing solutions are designed to only test a few types if functionality, JMeter can load test a wide variety of protocols. This includes HTTP/S, PHP, SOAP/REST, JDBC, MOM via JMS, SMTP(S), POP3(S), IMAP(S), LDAP, and Java Objects.
Locust
Locust is a load testing tool based on the Python programming language. As the name suggests, Locust creates a swarm of concurrent virtual users – into the thousands – to understand how many users your site can handle. This solution was created to load test websites, but you can use it to test any system that can be tested with Python, which means you need to have a working knowledge of Python to write test scripts in Locust.
Even if you use a web hosting company, Locust is beneficial. It’s a lot easier to justify upgrading your hosting plan or switching to a new host if you can identify and quantify performance issues.
Taurus
Unlike other open source tools that are limited to the HTTP/S protocol, Taurus is a framework that can run various open source load and functional testing tools. Test scripts are written in YAML or JSON, which allows developers to create scripts in other applications, including JMeter, Grinder, or Gatling.
Taurus can be used at any stage of development, able to run complex scenarios and generate interactive reports, so it may be the only tool you need.
Sitespeed.io
Sitespeed.io is a collection of open source tools (Selenium, VisualMetrics, PerfCascade, Skeleton, Simple crawler, Pug, and more) used measure and monitor site performance. Ideally, you want your site to load faster than your competitors’ sites – sitespeed.io lets you find out for sure. It will load test a single site, but you can also test and compare multiple sites at once.
Sitespeed.io also analyzes your web pages and makes suggestions for changes you can make to allow those pages to load more quickly. It supports Firefox, Chrome, and Chrome on Android.
The Grinder
The Grinder is a Java-based load testing framework that can perform load tests on any system with a Java API. The default scripting language is Jython, but scripts can also be written in Clojure, which, like Locust, means you need advanced knowledge of those scripting languages.
The Grinder works on any hardware platform or OS that supports J2SE 1.4 and above and supports all of the following protocols: HTTP/S, SOAP, XML-RPC, JDBC, IIOP, RMI/IIOP, RMI/JRMP, JMS, POP3, SMTP, FTP, and LDAP.
Conclusion
There’s a wide array of choices when it comes to selecting an open source tools for performance testing. Building and managing your own performance testing tool may not be the best route, especially if you don’t have the working knowledge of specific programming languages. Furthermore, one item that is often ignored when choosing an open source tool is support. As with many open-source tools, you are dependent on groups for troubleshooting issues, and there is typically no direct line to a technical support team.
In situations where it will require additional development and engineering resources, it might be best, and more cost-effective, to consider commercially available load testing tools, such as LoadView from Dotcom-Monitor. Dotcom-Monitor has a technical support team available should you encounter issues, along with an in-depth support forum, knowledge base articles, and videos.
Bonus Tool Comparison
Check out Application Monitoring Tools Compared, to help discover the right tools to keep you and your web visitors happy.
This open source tools list was last updated September 14, 2018.