Erik A. Dahl wrote at 2005-10-21 08:56 -0400:
>I just upgraded a client site from zope 2.6.2 to 2.8.1 (which I think
>has ZODB 3.4.1). After the upgrade I'm seeing very slow initial load
>times for objects from the zeo server (much slower than before). I
>understand that the objects need to be loaded from disk (and
>transfered to the client) but during the initial period (pre-cache) I
>see the CPU spike to 100%. This must mean it isn't a disk problem as
>much as a server to client transfer issue.
We did not observe this behaviour...
>Here are some configuration parameters I have played with to try and
>zodb_db cache-size - is this a per thread number as before or is it
>for all threads?
Nothing changed (other than that it is not defined in the configuration
file and not in the ZMI).
> I have never seen it reach my setting. Before the
>cache would get to the target number quickly. I assume this is
>active objects (ie doesn't include ghosts?)
>zeoclient cache-size - how does this interact with the above
>setting? and how is it different (besides being in bytes).
The ZODB cache lives in RAM and is a Python object cache.
It is a per connection cache.
The ZEO client cache lives on disk and is a pickle cache (it
caches the object states not the objects themselves).
It is shared by all connections to a single storage (in one process).
>My database has around 350k objects. I have zodb_db cache-size set
That is quite courageous...
Watch your RAM requirements closely!
For more information about ZODB, see the ZODB Wiki:
ZODB-Dev mailing list - ZODB-Dev@zope.org