JMeter

Apache JMeter is an Apache project that can be used as a load testing tool for analyzing and measuring the performance of a variety of services, with a focus on web applications.

JMeter can be used as a unit-test tool for JDBC database connections, FTP, LDAP, Webservices, JMS, HTTP, generic TCP connections and OS native processes. One can also configure JMeter as a monitor, although this is typically considered ad hoc rather than advanced monitoring. It can be used for some functional testing as well.
JMeter supports variable parameterization, assertions (response validation), per-thread cookies, configuration variables and a variety of reports.
JMeter architecture is based on plugins. Most of its “out of the box” features are implemented with plugins.