Rails performance tips
I have done some research through the weekend about improving Rails Applications performance. I would feel the the following few points need to be considered when we optimize rails applications for performance:
1) Avoid the use of dynamic URL generation (link_to, url_for) since rails needs to look up the routes table and that may take time. Just hard code the controller name and the action.
2) Try to avoid the excess use of helpers since it adds overhead.
3) You may consider to use Rails Bench to do some testing for you rails application performance.
4) You may consider to use memcached to cache your model and library computation results.
5) you may consider partial caching for your view partials.
6) try to optimize your database queries. If you use ActiveRecord find, be careful from computation intensive sql queries that returns to you a lot of data that you may not need. The method find may run many select statements for you.
These are very few tips, I will write about Rails performance in more details soon.









Farhad said,
July 19, 2007 @ 11:36 pm
Thanks for the tips.
Quick question - when you indicate to hard-code the controller name/action, are you suggesting avoiding the link_to(:controller => ‘x’, :action => ‘y’,….) methods? So, use the plain old tags instead?
admin said,
July 19, 2007 @ 11:38 pm
Yes, but it is one of the things that may not make difference always. I feel it make difference if you have large number of routes.