JMeter is open source software, a 100% pure Java desktop application for graphical server performance testing, for both static and dynamic resources (Servlets, Perl scripts, Java Objects, Data Bases and Queries, FTP Servers and more).
- Complete portability and 100% Java purity.
- Full multithreading framework allows concurrent sampling by many threads and simultaneous sampling of different functions by separate thread groups.
- Careful GUI design allows faster operation and more precise timings.
- Caching and offline analysis/replaying of test results.
- Highly Extensible:
- Pluggable Samplers allow unlimited testing capabilities.
- Several load statistics may be chosen with pluggable timers.
- Data analysis and visualization plug-ins allow great extendibility as well as personalization.
- Functions can be used to provide dynamic input to a test or provide data manipulation.
- Scriptable Samplers ("BeanShell" is fully supported; and there is a sampler which supports BSF-compatible languages)
Can load and performance test many different server types:
- Web - HTTP, HTTPS
- Database via JDBC
- Mail - POP3(S) and IMAP(S)
It is principle that testing application tends to get left to the last moment, one of the problems is that this is never done because lack of tool to do this. Actually there are number of commercial applications that present good looking user interface and deliver attractive results. On the other side there is JMeter open source free software.
Other than that, JMeter is really excellent tool. You will get events like HTTP requests, database calls, conditions added and POST data sent, completely documented. As well you can choose number of users over a sustained period. Tests are simple, but realistic and it is great way to find out your code strength.
Overall JMeter is stable, easy to comprehend and long standing desktop Java application, the only disadvantage that I see is inability to execute client side scripts. I think the tool is reliable and already have good community, so probably most problems that you will see are already solved.
You can download latest JMeter here