JMeter is perfect for this and is simpler than it seems at first.
Here are some great getting started video tutorials
http://blazemeter.com/blog/jmeter-tutorial-video-series
Selenium won't give you the reports you need for actual response time under load.
Regarding your comments on how to graph different results (success vs errors and TPS):
Personally I only use the graphing capabilities that BlazeMeter.com provides (I work for them) which includes the ability to graph different HTTP result codes side by side or even JMeter assertions.
I think you can get what you want using this third party plugin:
http://jmeter-plugins.org/wiki/TransactionsPerSecond/