Open Source Performance Testing Tools

  1. Performance testing is defined as the technical investigation done to determine or validate the speed, scalability, and/or stability characteristics of the product under test. Performance-related activities, such as testing and tuning, are concerned with achieving response times, throughput, and resource-utilization levels that meet the performance objectives for the application under test.Following is the list of few open source tools which can be used for performance testing.
  2.  Apache JMeter is an open source software, a 100% pure java desktop application designed to test functional behavior and measure performance. 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. It provides features such as a multithreaded framework, complete portability across a variety of platforms, capability to load and performance test many different server types, highly extensibility, efficient GUI design and support for offline analysis of test results.
  3.  The Grinder is  a java based performance testing framework that makes it easy to run distributed tests using many load injector machines. Its adapts a generic approach to testing which includes common cases like HTTP, web servers, SOAP and REST web services and application servers (CORBA, RMI, JMS, EJBs) as well as custom protocols. It also provides features like flexible scripting, distributed frameworks and a mature HTTP support.
  4.  Pylot is a free open source tool for testing performance and scalability of web services. It generates concurrent load (HTTP Requests), verifies server responses, and produces reports with metrics. It's provides multi-threaded load generators, automatic cookie handling, response verification with regular expressions, execution/monitoring console, real-time stats, results reports with graphs, custom timers, shell modes, cross-platform etc. It is incredibly easy to provision an instance and launch a virtual machine using its EC2 console.
  5.  OpenSTA is a distributed software testing architecture designed around CORBA. The current toolset has the capability of performing scripted HTTP and HTTPS heavy load tests with performance measurements from Win32 platforms. It also supports the creation of collector-only tests for monitoring production environments.  
  6.  LoadUI is a tool for Load Testing numerous protocols, such as Web Services, REST, AMF, JMS, JDBC as well as Web Sites. Tests can be distributed to any number of runners and be modified in real time. LoadUI is tightly integrated with soapUI. LoadUI uses a highly graphic interface making Load Testing fun and fast.
  7.  Benerator is a load/integration testing tool. It is a framework for creating realistic and valid high-volume test data, used for (unit/integration/load) testing 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. Its features are customizability, component based, easily extendible, ease of use, data quality, generic approach, usability etc. Benerator is highly extensible with a load of plugin interfaces that map to and from specific platforms or add generic, platform independent features.
  8.  FunkLoad is a functional and load web tester, written in Python, whose main use cases are functional and regression testing of web projects, performance testing by loading the web application and monitoring your servers, load testing to expose bugs that do not surface in cursory testing, and stress testing to overwhelm the web application resources and test the application recoverability, and writing web agents by scripting any web repetitive task, like checking if a site is alive.  
  9. Hammerora is a load generation tool for the Oracle Database and Web Applications. Hammerora includes pre-built schema creation and load tests based on the industry standard TPC-C and TPC-H benchmarks to deploy against the Oracle database with multiple users. Hammerora also converts and replays Oracle trace files and enables Web-tier testing to build bespoke load tests for your entire Oracle application environment.
  10.  SLAMD Distributed Load Generation Engine (SLAMD) is a Java-based application designed for stress testing and performance analysis of network-based applications. SLAMD was originally developed for the purpose of benchmarking and analyzing the performance of LDAP directory servers, and it is the most powerful and flexible tool available for this task. However, it is also well-suited for testing other kinds of network applications and has been used for things like Web servers and Web-based applications, relational databases, and mail servers. It can also be used for non-network based applications (and in fact, it is used for comparing things like CPU power and memory latency across a number of different kinds of systems), although its distributed nature makes it ideal for systems that can be accessed remotely.
  11.  Tsung is a distributed load testing tool. It is protocol-independent and can currently be used to stress HTTP, SOAP and Jabber servers (SSL is supported). It simulates complex user's behaviour using an XML description file, reports many measurements in real time (including response times, CPU and memory usage from servers, customized transactions, etc.). HTML reports (with graphics) can be generated during the load.