[ZODB-Dev] Slow Zeo load times after upgrade to ZODB 3.4

Erik A. Dahl edahl at confmon.com
Fri Oct 21 08:56:59 EDT 2005


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.

Here are some configuration parameters I have played with to try and  
improve things:

zodb_db cache-size - is this a per thread number as before or is it  
for all threads?  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).

zeo invalidation-queue-size - I cranked this up a bit hoping that  
restarts of zope would recover a reasonable speed quicker not sure if  
this is helping

Setup:
Solaris 2.8, python 2.3.5, zope 2.8.1, box has 4GB memory which I  
want to use!

My database has around 350k objects.  I have zodb_db cache-size set  
to 200k and zeoclient cache-size set to 500MB.  zeo invalidation- 
queue-size is set to 1000.

After running for several hours I have only seen the total active  
objects in cache goto around 50k and size of process says in the  
150MB range (before it would be in the 350MB range).

Any thoughts would be appreciated...

-EAD



More information about the ZODB-Dev mailing list