Load Testing Tools and Performance Testing Software

 

Open Source Performance and Load Software Testing Tools

 

Anemometer

Anemometer is a MySQL Slow Query Monitor. This tool is used to analyze slow query logs collected from MySQL instances to identify problematic queries.


Apache JMeter

Apache JMeter is a 100% pure Java desktop application designed to load test functional behavior and measure performance. It was originally designed for testing Web Applications but has since expanded to other test functions. Apache JMeter may be used to test performance both on static and dynamic resources (files, Servlets, Perl scripts, Java Objects, Data Bases and Queries, FTP Servers and more). It can be used to simulate a heavy load on a server, network or object to test its strength or to analyze overall performance under different load types. You can use it to make a graphical analysis of performance or to test your server/script/object behavior under heavy concurrent load.


Artillery

Artillery is an open source modern, powerful and easy-to-use load testing toolkit. Use it to make your applications stay scalable, performant & resilient under high load. You can test complex applications with multistep scenarios on HTTP, WebSocket and Socket.io. This tool is perfect for e-commerce backends, transactional APIs, IoT backends and all kinds of stateful services


Bees with Machine Guns

Bees with Machine Guns is an open source utility for arming (creating) many bees (micro EC2 instances) to attack (load test) targets (web applications).


benerator

benerator is a framework for creating realistic and valid high-volume test data, used for testing (unit/integration/load) and showcase setup. Metadata constraints are imported from systems and/or configuration files. Data can be imported from and exported to files and systems, anonymized or generated from scratch. Domain packages provide reusable generators for creating domain-specific data as names and addresses internationalizable in language and region. It is strongly customizable with plugins and configuration options. benerator is released under a dual license - GPL and commercial. For quick details check the FAQ.


Bristlecone

Bristlecone provides tools for testing database performance. There are two main tools included in the package. * Evaluator generates mixed loads of inserts, updates, deletes, and selects. Output can be built-in graphics, HTML, XML, or CSV. * Benchmark runs performance test cases with systematically varying parameters. Output can be HTML or CSV. The Bristlecone tools were designed for comparative evaluations of database clusters. They include built-in support for threading, ability to generate new tests quickly with simple configuration file changes, and the ability to do systematic tests across different database implementations. Bristlecone is written in Java. It has mostly run on Linux but is easily adaptable to other platforms. Bristlecone has been tested against the following database types: PostgreSQL, MySQL, and HSQLDB (Hypersonic).


FunkLoad

FunkLoad is an open source functional and load web tester, written in Python


Fast Web Performance Test Tool (fwptt)

fwptt, the Fast Web Performance Test Tool, is an open source Web application tester program for load testing web applications. It can record normal and ajax requests. I tested it on asp.net applications, but it should work with jsp, php or other.


google-perftools

These tools are for use by developers so that they can create more robust applications. Especially of use to those developing multi-threaded applications in C++ with templates. Includes TCMalloc, heap-checker, heap-profiler and cpu-profiler.


GrinderStone

GrinderStone is an Eclipse plug-in for Grinder load testing scripts development (debugger for scripts is included).


innotop

innotop is a powerful monitor for MySQL queries and status information. It is designed to monitor InnoDB transactions and internals, replication status, deadlocks, general queries and status values, and much more.


JUnitPerf

JUnitPerf is a collection of JUnit test decorators used to measure the performance and scalability of functionality contained within existing JUnit tests.


Komuso

Komuso is a very simple MBean server monitoring tool. With Komuso, you can monitor any MBean server including WebLogic Server, Tomcat, JBoss, Oracle Application Server, WebSphere and just JVM locally or remotely. Komuso is unique for its simplicity. Komuso consists of only 150 lines of code.


Locust

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


NBench

NBench is an open source cross-platform performance benchmarking and testing framework for .NET applications. NBench is designed for .NET developers who need to care about performance and want the ability to "unit test" their application's performance just like XUnit or NUnit tests their application code.


Open Twebst

Open Twebst is an open source web automation framework + web recorder for Internet Explorer that can be used within any environment that supports COM, from scripting languages JScript, VBScript to higher level programming languages C#, VB.Net, VBA/Excel, C++.


Page Speed

Page Speed is an open-source Firefox/Firebug Add-on. Webmasters and web developers can use Page Speed to evaluate the performance of their web pages and to get suggestions on how to improve them.


PerfCake

PerfCake is an open source performance testing tool and a load generator with the aim to: 1) be minimalistic, 2) easy to use, 3) provide stable and repeatable results, 4) have minimum influence on the measured system, 5) be platform independent, 6) use component design, 7) allow high throughput.


PushToTest TestMaker

PushToTest TestMaker is a platform for real-time monitoring and governance of information systems. Software developers use TestMaker turn their unit tests into functional tests that run on their development machine. TestMaker includes Wizards and Recorders to automatically build tests and supports a variety of languages to build tests, including Java, .NET, Jython, Groovy, PHP, Ruby, and many others. It supports SOA, Web Service, AJAX, and REST services using HTTP, HTTPS, SOAP, XML-RPC, and the email protocols. The TestMaker test runtime environment automatically turns these same functional tests into load tests, scalability and performance tests, regression tests, and service monitors for QA technicians, IT operations managers, and CIOs.


Raw Load Tester

The RawLoadTester application is a free Open Source tool to load test websites. It does not have many features but it is useful in situations where using a more comprehensive load testing solution (e.g., Apache Flood) is not practical.


Selenium-profiler

Selenium-profiler is a web/http profiler built with Selenium-RC and Python. It profiles page load time and network traffic for a web page. The profiler uses Selenium-RC to automate site navigation (via browser), proxy traffic, and sniff the proxy for network traffic stats as requests pass through during a page load.


Siege

Siege is an http regression testing and benchmarking utility. It was designed to let web developers measure the performance of their code under duress, to see how it will stand up to load on the internet. Siege supports basic authentication, cookies, HTTP and HTTPS protocols. It allows the user hit a web server with a configurable number of concurrent simulated users. Those users place the webserver "under siege."


Software Testing Automation Framework

The Software Testing Automation Framework (STAF) is an open source, multi-platform, multi-language framework designed around the idea of reusable components, called services (such as process invocation, resource management, logging, and monitoring). STAF removes the tedium of building an automation infrastructure, thus enabling you to focus on building your automation solution. The STAF framework provides the foundation upon which to build higher level solutions, and provides a pluggable approach supported across a large variety of platforms and languages. STAX is an execution engine which can help you thoroughly automate the distribution, execution, and results analysis of your testcases. STAX builds on top of three existing technologies, STAF, XML, and Python, to place great automation power in the hands of testers. STAX also provides a powerful GUI monitoring application which allows you to interact with and monitor the progress of your jobs. Some of the main features of STAX are: support for parallel execution, user-defined granularity of execution control, support for nested testcases, the ability to control the length of execution time, the ability to import modules at run-time, support for existing Python and Java modules and packages, and the ability to extend both the STAX language as well as the GUI monitoring application. Using these capabilities, you can build sophisticated scripts to automate your entire test environment, while ensuring maximum efficiency and control.


Super Smack

Super Smack is a benchmarking, stress testing, and load generation tool for MySQL (and PostgreSQL).


The Grinder

The Grinder is a Java load testing framework that makes it easy to run a distributed test using many load injector machines.


TourBus

TourBus is an intelligent website load testing tool. Allows for complicated testing scenarios including filling out forms, following redirects, handling cookies, and following links-all of the things you'd normally associate with a regression suite or integration testing tool. The difference is that TourBus also scales concurrently, and you can perform hundreds of complicated regression tests simultaneously in order to thoroughly load test your website.


Trample

Trample is a more flexible load simulator.


Tsung

Tsung is an open-source multi-protocol distributed load testing tool


Vegeta

Vegeta is a versatile HTTP load testing tool built out of need to drill HTTP services with a constant request rate. It can be used both as a command line utility and a library.