[ZODB-Dev] Question about zeo client cache

Jim Fulton jim at zope.com
Sun Dec 11 14:01:17 UTC 2011


On Sun, Dec 11, 2011 at 7:44 AM, Malthe Borch <mborch at gmail.com> wrote:
> On 11 December 2011 13:22, Jim Fulton <jim at zope.com> wrote:
...
> If it's in the disk cache, to my understanding, it might as well be in
> the ZEO client's pickle cache.

You mean the ZODB object cache?

Compressed pickles in the zeo client cache take up a lot less memory
than live objects in the object cache.

Even for data not in the client disk cache, it's likely to me much
faster to load the data locally.

> My (possibly very, very bad) advice was based on the fact that there's
> an obvious, huge win in having a ZEO client cache if it's particularly
> expensive to request the object from the ZEO server.

But the fastest you can load data is probably slow enough to make a
client cache a win.

The only time I know of when a client cache isn't a win is when the
working set fits in the object cache.

> I don't think that less than a microsecond is expensive

I assume you meant "millisecond". A millisecond is an eternity
by modern standards.

> and chances
> are that the object is in the disk cache on the ZEO server and not in
> the disk cache on the ZEO client.

That depends on your application of course, but we aim for ZEO cache
hit rates around 90%. Our hit rates are typically 60% or better, in
which case, it's more likely to find data in the client cache.

Jim

-- 
Jim Fulton
http://www.linkedin.com/in/jimfulton


More information about the ZODB-Dev mailing list