[horde] memcache session tracking

Andrew Morgan morgan at orst.edu
Tue Oct 14 17:29:26 UTC 2008


On Mon, 13 Oct 2008, Michael M Slusarz wrote:

> Quoting Michael M Slusarz <slusarz at horde.org>:
>
>> Quoting Kevin Konowalec <webadmin at ualberta.ca>:
>> 
>>> If that is the same session tracking that you can get through the admin 
>>> interface I've tried it.  It THRILLED me to finally be able to see who was 
>>> logged on at any given time since we had that functionality with 
>>> mySQL-based sessions but lost it when we went to Memcache.
>>> 
>>> Unfortunately as soon as I put the machines into production and under load 
>>> it becomes useless.  The web page times out before showing me anything. 
>>> So I've stopped playing with it - doesn't seem to work well with large 
>>> installations like ours (70,000+ users).
>> 
>> Try these two patches and see if it helps at all:
>> http://lists.horde.org/archives/cvs/Week-of-Mon-20081013/084284.html
>> http://lists.horde.org/archives/cvs/Week-of-Mon-20081013/084286.html
>
> This also:
> http://lists.horde.org/archives/cvs/Week-of-Mon-20081013/084287.html

I've got this on my test installation and it works fine.  I might be able 
to deploy it to our production site this weekend.  I'll let you know how 
it goes.

Should I merge the change in v1.24 of SessionHandler/memcache.php as well?

I was looking at the following code in SessionHandler/memcache.php:

     function _trackGC()
     {
         $this->_memcache->lock($this->_trackID);
         $ids = $this->_memcache->get($this->_trackID);
         if (empty($ids)) {
             return;
         }

Shouldn't it call unlock in the "if (empty($ids))" block?  If the tracking 
array is empty (but exists), then a lock will be held on it unnecessarily.

Thanks,
 	Andy


More information about the horde mailing list