> I don't think you've mentioned what the latency is like between your
> ZEO server and clients.   What's the ping time look like?

~0.115 ms

> As an example, let's say your average object size is only 1k, but due
> to network latency it takes 5ms per fetch.  Let's say your slow page
> loads 1000 objects, and 100 of them are not in the cache. That's only
> 100k of data, but you've spent 500ms waiting on the network.

Yes, that looks like a good explanation for the problem.

> If this is indeed the problem, one symptom would be vastly better
> performance on "warm" pages when all the needed objects are in the
> client cache.

Which seems to be the case :)

> Is this a Zope 2 app? Have you checked the control
> panel to see what the cache stats look like?

No, it's a standalone ZODB-base web app. I am using WSGI daemon mode, so 
the client cache should be preserved across requests. However, I suspect 
it is just too small for our use case.


For more information about ZODB, see the ZODB Wiki:

ZODB-Dev mailing list  -  ZODB-Dev@zope.org

Reply via email to