[horde] clustering horde with memcached

Liam Hoekenga liamr at deathstar.org
Tue Jan 2 13:30:21 PST 2007


It depends on the version of Horde and the version of the PECL memcached 
extension you're using.

In Horde <= 3.1.1, the memcache sessionhandler has a function, 
_getConForId(), that uses the sessionID and the list of memcache servers 
to figure out which memcache server has the session data.  This was done 
because prior to PECL memcache 2.x, the memcache extension didn't 
support connection pooling.   Since this is a strictly PHP based 
solution, it should work with any release of the PECL memcache extension.

PECL memcache 2.x >= 2.x supports connection pooling, and with the 
release of Horde >= 3.1.2, _getConForId() is dropped in favor of using 
the connection pooling (and connection hashing) internal to the memcache 
extension.

I'm gonna guess that connection pooling and PECL memcache >= 2.x works 
ok w/ Horde <= 3.1.1 (since the pooling is implemented PHP),  but to 
make it work with Horde >= 3.1.2, you'll need to use memcached >= 2.0.

Liam


Kevin Konowalec wrote:
> We're running a cluster of 12 machines for our 75,000+ user base.  
> They're all set up in a round-robin and users can conceivably hop from 
> one machine to another in the course of a session (due to  a number of 
> factors like the server they're on going down or whatever).  We've 
> only got one central server running memcached for all of them though.  
> Is there a better way to do it?  If I tell horde to use 1..N memcached 
> servers will it then scan all the servers until it finds the session 
> when a user flops from one server to the next?
> --Horde mailing list - Join the hunt: http://horde.org/bounties/#horde
> Frequently Asked Questions: http://horde.org/faq/
> To unsubscribe, mail: horde-unsubscribe at lists.horde.org



More information about the horde mailing list