[ZODB-Dev] ZEO bandwidth requirements?

Jim Fulton jim@zope.com
Sat, 27 Oct 2001 09:33:52 -0400


Steve Alexander wrote:
> 
> Greg Ward wrote:
> 
> > On 26 October 2001, Dunigan, Craig said:
> >
> >>Can anyone tell me the minimum bandwidth requirements for a ZEO client to
> >>server connection?  My IS manager recently put a PacketShaper on our frame
> >>relay link that connects my remote ZEO clients to my local ZEO server, and
> >>capped the bandwidth available to them at 32KB.  This seems quite small to
> >>me, but is it sufficient?  Naturally, performance of the remote Zope servers
> >>has suffered tremendously when they have to pull a new or modified object
> >>over the frame, and I'd like to be able to argue that ZEO requires greater
> >>bandwidth to function properly.
> >>
> >
> > I hate to sound pedantic, but ZEO *should* still function correctly at,
> > say, 1 byte/sec.  It will function *slowly*, but it should be *correct*
> > (in the absence of timeouts).
> >
> > Which is just another way of saying that bandwidth requirements are
> > arbitrary and depend on the application.  If your application is
> > unacceptably slow at 32 kB/sec between ZEO client and server, then
> > you'll have to take that up with your IS manager, and with whoever
> > decides what "unacceptably slow" us.
> 
> Just an idea -- why not compress the pickles as they leave the ZEO
> server and uncompress them in your ZEO clients?
> 
> Sounds to me like you have more processing power to spare then network
> bandwidth.

I'm sure that this would help a lot in this situation. 

Early on, I investigated speeding up ZEO by compressing 
pickles, but didn't see much benefit (actualy, it got slower) 
at the time, however, I was running the client and server on the same machine
and writing to FileStorage. I think that this deserves another look 
in general.

Oracle storage benefits a lot from compressing pickles. I suspect that
the same *might* be true for the Berkeley storage.  It's tempting to
send compressed data through ZEO to the storage, so that compression
and decompression is done on the client, however, currently the Berkeley
storage would have to decompress the pickle to get object references.

Jim

--
Jim Fulton           mailto:jim@zope.com       Python Powered!        
CTO                  (888) 344-4332            http://www.python.org  
Zope Corporation     http://www.zope.com       http://www.zope.org