At Spark Solutions, we’ve scaled a Ruby on Rails app from 1000 to 300000 registered users, activity feed, over a 1 million visits and 500 000 sent messages between users a month.
We’ve started on a single VPS server and ended up on couple of dedicated machines. Some things we used:
- Nginx
- Memcached
- Varnish
- Phusion Passenger
- MySQL
- MongoDB
- Capistrano
- Sphinx
- delayed job for background processing (at that times it was the best solution)
- russian doll caching on every layer (model/controller/view/HT
TP/static files) - extensive use of rails counter cache
- running some requests without the full rails stack
Question & answer originaly posted on Quora.