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 reliably.
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.
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.
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 network
still hoping to hear of an existing implementation,
David Hancock | firstname.lastname@example.org |
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
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