[ZODB-Dev] zeo2a1 performance cold spots

Shane Hathaway shane@zope.com
Fri, 28 Jun 2002 10:06:05 -0400


Toby Dickenson wrote:
> On Wednesday 26 Jun 2002 2:45 pm, Toby Dickenson wrote:
> 
>>On Tuesday 18 Jun 2002 6:51 pm, Shane Hathaway wrote:
>>
>>>Toby Dickenson wrote:
>>>
>>>>It might not be significant, but since upgrading my development machine
>>>>to ZEO2 alpha 1 I have noticed that Zope startup is occasionally
>>>>significantly slower than normal.
>>>
>>>Interesting.  So far, I've seen the opposite: my NNTP server, backed by
>>>ZEO 2, starts up instantly, where it used to take about 2 seconds.
>>>(I've hacked ZEO slightly to change its threading model, but I don't
>>>think that would make a difference.)
>>
>>Its a false alarm. I must have added a FORCE_PRODUCT_RELOAD into my zope
>>start script at some point.
> 
> 
> Ah, no, I was right the first time. FORCE_PRODUCT_RELOAD was causing excess 
> ZEO traffic, but the traffic was still slower than it should be. As far as I 
> can tell this is due to ZEO not turning on TCP_NODELAY, which adds a little 
> latency to every request.
> 
> This change brings my single machine benchmark up to nearly 100% CPU usage 
> again, as I would expect.
> 
> I am hesitant to commit this because it looks like ZEO has always worked this 
> way, and I am suprised noone else has seen this effect before. Particularly 
> on windows. Any thoughts?

Ah-ha, that makes sense.  The difference is that I've been using Unix 
domain sockets, and TCP_NODELAY doesn't get involved.

+1 on the patch, but I can't claim to have any experience with 
TCP_NODELAY. ;-)

Shane