Scaling/optimizing a slow ruby on rails application

Hi everyone,

My name is Michael Solovyov and I'm the co-founder & CTO of a
rails-based start-up. We have built a product for other businesses to
help their users adopt their products.

We've built the application, delivered to a few customers and now we've
hit scaling and performance issues.

I'd love your feedback on how we proceed as we try to resolve them:

Some thoughts:

  • as mentioned on SO, New Relic is a good place to start. Figure out where the time is going in the slow requests, and work from there.

  • the rewrite to an RDBMS may help, may not. It’s highly dependent on why CouchDB was chosen in the first place - if your application depends heavily on some of the features of CouchDB (MapReduce, or async replication) it may make things worse.

  • if minor parts are hard to port from Couch, skip them. Get something working with the new design, and benchmark it.

  • Above everything else, MEASURE. Most of the things you listed on StackOverflow could improve performance, but could decrease it.

–Matt Jones