[horde] memcache session stats (was Re: memcache caching for all session stores..)

liamr at umich.edu liamr at umich.edu
Fri May 2 20:55:18 UTC 2008


> The difference from the previous implementation is that check to see
> if the session data changes.  This check is done for all storage
> backends, btw, so sql/memcache drivers are not the only place this
> helps.  (In the memcache case, there is a slight chance that a long
> string of session accesses without a change could cause a session
> timeout because the session timestamp isn't updated.  We work around
> this by guaranteeing that the session is written at least once every
> session_timeout/2 seconds.)

Back in Horde 2.x, we used the mysql session handler, and we collected 
a couple of years of data checking how many session modified in the 
previous half hour, on the half our.  It was easy to get, easy to 
graph, made managers happy, etc.

When Horde 3.x came out, the session size increased dramatically, and 
the sql based session handler caused our mysql servers to regularly 
reach the 32bit 2gb process memory limit, which would cause mysql to 
crash.. so.. we backported the memcache session handler from CVS to 
3.0.x.  It works great, but doesn't give us quite the same stats that 
my managers want to get (number of users / period X).  The graphs show 
the same usage pattern, but are based on different metrics.

So, if we were interested in collecting session statistics, do you 
think it would be easier to use a memcache cached DB based session, and 
check session_lastmodified?  Or can we get that sort of info from the 
memcache only session handler?  (It's been implied that we can, but 
I've not been successful).
  Liam


More information about the horde mailing list