There is an excellent blog post that describes
Load Test Tools:
- Grinder 3.11
- Gatling 2.0.0.M3a
- Tsung 1.51
JMeter 2.11
The Grinder
The Grinder consists of two main parts:
- The Grinder Console - This is GUI application which controls various Grinder agents and monitors results in real time. The console can be used as a basic IDE for editing or developing test suites.
- Grinder Agents - These are headless load generators; each can have a number of workers to create the load
Key Features of the Grinder:
- TCP proxy - records network activity into the Grinder test script
- Distributed testing - can scale with 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 capability to use external data sources like files, databases, etc.
- Post processing and assertion - full access to test results for correlation and content verification
- Support of multiple protocols
Apache JMeter
Key Features of the JMeter:
- Cross-platform. JMeter can be run on any operating system with Java
- Scalable. When you need to create a higher load than a single machine can create, JMeter can be executed in a distributed mode - meaning one master JMeter machine will control a number of remote hosts.
- Multi-protocol support. The following protocols are all supported ‘out-of-the-box’: HTTP, SMTP, POP3, LDAP, JDBC, FTP, JMS, SOAP, TCP
- Multiple implementations of pre and post processors around sampler. This provides advanced setup, teardown parametrization and correlation capabilities
- Various assertions to define criteria
- Multiple built-in and external listeners to visualize and analyze performance test results
- Integration with major build and continuous integration systems - making JMeter performance tests part of the full software development life cycle