[ZODB-Dev] Re: ZEO and time.sleep

Jürgen Kartnaller juergen at kartnaller.at
Thu Mar 29 10:38:36 EDT 2007



Jim Fulton wrote:
> 
> On Mar 29, 2007, at 10:11 AM, Jürgen Kartnaller wrote:
> 
>>
>>
>> Jim Fulton wrote:
>>> On Mar 29, 2007, at 3:51 AM, Jürgen Kartnaller wrote:
>>>>
>>>>
>>>> Jim Fulton wrote:
>>>>> On Mar 28, 2007, at 6:37 PM, Benji York wrote:
>>>>>> Jim Fulton wrote:
>>>>>>> On Mar 28, 2007, at 6:28 PM, Benji York wrote:
>>>>>>>
>>>>>>>> threading.Connection
>>>>>>> threading.Condition :)
>>>>>>
>>>>>> Yeah, that. :)
>>>>>>
>>>>>>> What was the time to return the first request after the fix?
>>>>>>
>>>>>> I didn't stick around for the post-Linux-kernel-recompile testing, 
>>>>>> but when we hacked the Python standard library to use sleep(0) all 
>>>>>> the time (emulating an infinite granularity timer), it went down 
>>>>>> to about 10 seconds.  A pretty nice improvement. ;)
>>>>> And the original time was 15 minutes! :)
>>>>
>>>> My test environment on MAC OS-X is loading my frontpage in 2:50 min 
>>>> after restarting zope.
>>>> with your fix and the one I made in a ZODB branch using nanosleep is 
>>>> went down to 27 sec.
>>> I'm confused.   Was the 27 seconds with both changes together? Or did 
>>> each change individually lead to a 27 second time?
>>
>> Each canche individual.
>> Both have the same result.
> 
> Cool. They both address the same problem individually, at least in 
> theory, but I'st nice to know the 2 changes were tested separately.
> 

Of course the nanosleep version is not elegant and brings more CPU load 
because I set the sleep to 100 us and therefore need to do a lookup for 
data every 100us.

Because nanosleep didn't worked reliable on ubuntu (sleep time varies 
from 100ns to 10ms) we changed the kernel to have a minimal sleep time 
of 1 ms. Now our application "warm up" time decreased to about 10 
minutes (from about 30 or more).

I think we will use your new version next week on our production servers.

Jürgen



More information about the ZODB-Dev mailing list