We aren't clustered (currently), but soon I want to run the
ThreadedAppServer on multiple machines again. We backed away from this a
while ago for other reasons, but at the time we used the session
FileStore with an NFS-mounted directory. We tried sticky sessions in our
load-balancer (Cisco LocalDirector) but we never got them to work
Our applications (WebKit included) are already quite database-intensive,
so I'd rather try something like memcached before doing an additional
update on each page switch. The memcached daemons in a few places on the
network seems ideal, and my (simple-minded) benchmarks comparing Oracle
retrievals vs memcached retrievals shows them to be 10-12 times faster.
Before implementing our earlier load-balanced configuration, we
benchmarked the difference between FileStore and MemoryStore. It was
only about a 15% penalty for the FileStore. That testing was with a
local filesystem, not NFS. FileStore can introduce some hard-to-find
bugs when two windows of the same session attempt to update the session
file at the same time.
I haven't got any numbers comparing MemoryStore (or DynamicStore) with
memcached storage, but I would expect MemoryStore to perform a few
percent better (data is already in the process, no need for possible
I'm still hoping to hear of an existing implementation, though...
David Hancock | dhancock@... | 410-266-4384=20
From: Ben Parker [mailto:ben@...
Sent: Tuesday, October 25, 2005 6:22 PM
To: Hancock, David (DHANCOCK)
Subject: Re: [Webware-discuss] Anybody made a memcached SessionStore?
Hancock, David (DHANCOCK) wrote:=20
We're thinking about creating a memcached SessionStore backend,
but (being quite lazy and not as smart as most other people) I'd much
rather copy or adapt somebody else's code. Has anyone done this already?
Any advice before I start in on this project?
Interesting - are you looking to use this in a clustered environment? I
wonder if memcached would give any performance benefit over
SessionMemoryStore for a single server.
Fairly soon, I will have to implement clustered app server machines for
load-balancing and failover, and I'm looking at using a database session
store to achieve session management across multiple machines without
requiring sticky sessions. although I'm still just beginning to get the
test environment together.