The performance&memory footprint of Rails3

I just upgraded my application infrastructure to Rails 3.0.7 from Rails 1.2.3.

After performance test, I found: 1. 15% downgrade time cost per request 2. 200% memory cost per process

I'm using lighttpd/fastcgi/rubyee.

I found that Rails 3.2 will improve performance & memory cost. Where can I find the roadmap of Rails 3.2 and when will Rails 3.2 release? Is there any workaround for short-term?

Wow.. from 1.2.3 to 3.0.7? That is pretty extreme. Firstly I am really surprised that it still runs..

Im sure your log will be full of deprecation stuff, so my guess would be not to wait for 3.2 but instead start now to go through your application and see what is deprecated. Just scopes as an example have changed a lot, so I would say check your application first. Also if I am not sure if lighttpd supports streaming, I wouldnt think so, so in the long run you will probably be better off swapping to unicorn+nginx or something similar.

regards stefano

hideto <hideto.bj@...> writes:

I just upgraded my application infrastructure to Rails 3.0.7 from Rails 1.2.3.

Wow. A lot has changed since then, including the choice of web server configurations. You might want to explore Passenger, thin, or unicorn. There arew also many new features within Rails 3 than version 1 ever had, so I would expect there to be a little more memory use.

I also suggest you tail the logs and watch for deprecation warnings - fix those first. Then delve into the new features within Rails 3 and work out where your application can take advantage of them. Things like scopes and chained queries can make your code a lot more readable.

Best of luck.

I just upgraded my application infrastructure to Rails 3.0.7 from Rails 1.2.3.

After performance test, I found: 1. 15% downgrade time cost per request 2. 200% memory cost per process

I'm using lighttpd/fastcgi/rubyee.

I believe you - I am so glad for your input! this is great!

Good work!

you may have luck with nginx and unicorn next - if you need help - i've done this - or nginx with passenger - i can help with

FastCGI? That's at least part of your problem - the REE stuff doesn't work nearly as well in that setup. I'd highly recommend switching to a more modern stack; I've used Passenger lots and it's always worked well.

--Matt Jones