Posts

Showing posts from September, 2013

Rails performance boost using Passenger/Unicorn Out-Of-Band Work GC

Hello, have u tried Out-Of-Band GC?

Its available in passenger 4 and unicorn its give a very good performance boot to application at cost of some extra memory footprint (in my case 1.6 times than actual memory)

Don't forget to to disable auto gc during requests
GC.disable # Don't run GC during requests is the  main key here

Tune frequency according to application for maximum performance  #unicorn GC_FREQUENCY = 5
#for passenger Trigger out-of-band GC every 5 requests.
use PhusionPassenger::Rack::OutOfBandGc, 5 

http://blog.newrelic.com/2013/05/28/unicorn-rawk-kick-gc-out-of-the-band/
http://blog.phusion.nl/2013/01/22/phusion-passenger-4-technology-preview-out-of-band-work/ 

Also have your ruby tuned for GC so that it can serve more requests without frequent GC runs

http://meta.discourse.org/t/tuning-ruby-and-rails-for-discourse/4126
https://gist.github.com/burke/1688857