Best way to stress test a rails web app?
Are there any good (preferably free) tools out there?
Can they give accurate estimates that reflect production results when the app goes live?
This is definitely not a free solution, but webmetrics will get the job done. (As well as any website monitoring company in general). They give thorough reports on your web site's performance, and when you schedule load tests you can specify how much load you want to simulate (e.g. simulate 2000 users using my site at once).
I don't think it will break it down and tell you your CPU usage and such, as they stress your website from their servers.
I would personally go with Apache Bench http://httpd.apache.org/docs/2.0/programs/ab.html
It's free, straight forward to use and lightweight.
If you are looking for a something a little more robust then I think Apache JMeter might be worth looking at. http://jmeter.apache.org/. Again, it's free, a bit of a learning curve and has a GUI so a little heavier.
You might also want to take a look at this Q/A How do you stress test a web application?
WebLoad is open source:
There's a good summary of tools here.
Rails comes with performance testing built in: http://guides.rubyonrails.org/performance_testing.html