[ZODB-Dev] ZEO and replication of BTree based objects

Jeremy Hylton jeremy at zope.com
Thu Jun 5 18:28:08 EDT 2003


On Thu, 2003-06-05 at 03:34, Toby Dickenson wrote:
> Is ZEO utilizing your bandwidth efficiently?
> 
> The current ZEO implementation loads each object on demand, and waits for one 
> object to be fully retrieved before requesting the next. This could leave 
> your network underutilized if it has high *latency*. I wonder whether 
> pipelined reads would improve this.....

It's hard to avoid the one-at-a-time behavior given the way ZODB loads
objects on demand.  If you do a getattr on a ghost object, that getattr
can't return until the ZEO clients fetchs the object from the server.

I expect pipelining requrests would help a lot.  I think it would need
to happen via prefetching or some other application hint that an object
will be read soon.  Roche's question about a custom policy for loading
objects on demand is one such hint.

I think it would be great to have a prefetching mechanism in ZEO,
probably coupled with a notification system to let the app know when an
object is loaded.

Jeremy





More information about the ZODB-Dev mailing list