So we had some similar problems related to running our rails application
using either memcache or an sql-based sessioning solution using a number
of mongrels with Apache's balancer.  In the end, I think the problem we
had was related to a race condition when setting session data between
ajax calls.  On the rails trac instance, there has been a plugin
developed for these types of conditions called smartsessionstore.  It
works with the sql_session plugin, meaning your sessioning will be sql
based so not quite as fast as memcache, but I'm not sure if the
difference is actually noticable to users.  Here's the link:
http://www.texperts.com/2007/05/01/race-conditions-in-rails-sessions-and
-how-to-fix-them/
 
--TR 


________________________________

        From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of cleaner416
        Sent: Friday, September 07, 2007 10:37 AM
        To: mongrel-users@rubyforge.org
        Subject: [Mongrel] memcached and fragment storage,session
storage with a mongrel cluster
        
        
        Greetings,

        I posted this not on the Rails mailing list and didn't get a
definitive 
        response so I thought I'd post it here, since I figure lots of
you are using
        mongrel with Rails apps. Any suggestions would be greatly
appreciated.
        
        
        I've been using file-based fragment caching and DB-based session
        caching quite extensively.  I decided to try out memcached for
both to
        see if I could achieve a meaningful performance gain for a
particular app.

        I searched around a bit and simply added two lines to my
        development.rb:

        config.action_controller.fragment_cache_store = :mem_cache_store
        config.action_controller.session_store = :mem_cache_store

        (I also changed config.action_controller.perform_caching = true
for
        testing )

        This works like a charm on my development box.  (Mac) I've got
memcached -vv
        running in another terminal window I can see it doing it's
thing.

        However, as soon as I tried this on my production box, (by
adding the
        above lines to production.rb) I ran into some odd problems.   My
        production setup is pretty vanilla: Apache 2.2 load balancing to
a
        couple of mongrel instances via mongrel cluster on a fedora core
5
        box.   It seems as if a memcache pool is being created for each
        mongrel instance, instead of the app.  Is there some other kind
of
        config I need to do in production.rb?  The stuff I've found via
        googling seems to apply to Rails < 1.2

        Thanks much
        
        

_______________________________________________
Mongrel-users mailing list
Mongrel-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/mongrel-users

Reply via email to