ab is a tool for benchmarking your Apache Hypertext Transfer Protocol (HTTP) server.
It is designed to give you an impression of how your current Apache installation performs.
This especially shows you how many requests per second your Apache installation is capable of serving.
Apache JMeter and Grinder are load testing frameworks for Java. Both can be used for similar purposes, however there are some things about each project that are unique.
Nate: Not a fan of Grinder but it does have its uses like any tool. We utilize it here during certification and stress testing of the stack. It is widely used across the industry for stressing which I am sure you know. I have not used JMeter for ages, and the last time I did it did not have some important features I needed at the time, so I cannot speak in an educated fashion about it. JMeter does integrate with JUnit though and there should not be any additional dependencies. The developers already know Java so there is no issue there. This is unlike Grinder which requires the developer to learn Python/Jython and adds a number of dependencies. JTRunner anyone? This looks like a decent framework that allows a developer to create very complex scenarios in very little time and without the knowledge of everything that might be under the hood necessarily. Uses Java and integrates with their existing environment with out additional dependencies.