"what type of load can the xxxx application handle"
You're right. To answer this, we are testing!
Without testing, we cannot just say something as broad as our ruby ​​application, running on 2 dynamoks from Heroku, can handle 100 requests / sec or 100 simultaneous users. We need to check. Scaling can also be tricky. Without testing, we will not know which components scale well and which do not.
To get started, we have our application, the system under test. We already work for Heroku, which gives us immediate access to New Relic . We could try including the free version of New Relic to find out what information it gives us. There is also a paid version that we could try during our “tuning sessions” if we need to dive even more.
Then we just do not have enough “driver”, a process that will load the load on the application using the most common process flows (loading images, viewing images, logging in to the system, etc.).
To get started, we just need 1-N of our closest friends who would like to act as users on our site while we monitor all activities from New Relic. Measuring response time for user experience, defining slow requests, see where our application spends its time.
When we get tired of buying all our beer for our friends to help us, we can look at automating some common business flows using a load testing tool. There are commercial ones: Mercury LoadRunner, Borland SilkPerformer and Microsoft Team Test.
We could also get creative using functional testing tools like Watir or Selenium, or even trusted wget or curl to manage the load.
We can use our laptops or Amazon EC2 as download agents that will generate user traffic on the site by running our scripts.
It should not be as complicated as all this, although testing is usually a spiral in a quagmire, if we are not careful to make sure that we are testing the correct flows and, perhaps, just as important, measuring our application. Without measurements, we won’t know if code or configuration changes have changed, improved or worsened the situation.
Disclaimer: I never had a Rails application for production, but if I did, I would use New Relic to monitor it. At least for a start, especially since we are already on Herek.