Scott Barron ha scritto un grande articolo chiamato Session Container Performance in Ruby on Rails
Questo articolo descrive i problemi di prestazioni usando differenti tipi di gestione di sessione, incluso:
Se vuoi settare Ruby on Rails per usare Ruby distribuito , primo vai alla linea di comando e digita::
locate drb_server.rb
Poi, usando il path completo a drb_server.rb, digita
ruby /path/to/drb_server.rb &
Questo fa sí che il server Ruby distribuito esegua in background, fondamentale affinché DRb funzioni.
Poi, cambia il tuo dispatcher. Se stai usando mod_ruby o cgi, cambia la linea:
Dispatcher.dispatchDispatcher.dispatch CGI.new, {'database_manager' => CGI::Session::DRbStore}
Se stai usando dispatch.fcgi, cambiala cosí,
FCGI.each_cgi { |cgi| Dispatcher.dispatch(cgi, {'database_manager' => CGI::Session::DRbStore},
File.dirname(__FILE__) + "/500.html") }
Ricorda di reiniziare Apache, affinché le modifiche abbiano effetto.
Questo é quanto! Giá fatto. Le tue sessioni ora verranno gestite con DRb. Non solo questo scala meglio che PStore, ed é solitamente piú veloce, ma ora puoi usare piú server web in round-robin, tutti che usano la stessa sessione distribuita, affinché Ruby on Rails possa scalare orizzontalmente.
category:Howto