Grinder

From the Grinder tool website:
"The Grinder is a Java load testing framework that makes it easy to run a distributed test using many load injector machines. [...] Load test anything that has a Java API. This includes common cases such as HTTP web servers, SOAP and REST web services, and application servers (CORBA, RMI, JMS, EJBs), as well as custom protocols. [...] Tests are written in the powerful Jython scripting language. [...] A graphical console allows multiple load injectors to be monitored and controlled, and provides centralised script editing and distribution. [...] Automatic management of client connections and cookies. SSL. Proxy aware. Connection throttling. Sophisticated record and replay of the interaction between a browser and a web site."