[ZODB-Dev] speeding up zdctl/zdrun start

Jim Fulton jim at zope.com
Fri Jun 8 17:51:58 EDT 2007


On Jun 8, 2007, at 5:43 PM, Daniel Drake wrote:

> Hi,
>
> Starting the database through zdrun is quite slow, as it always  
> ends up
> sleeping for at least 1 second:
>  - zdctl spawns zdrun
>  - zdctl immediately tries to connect to the unix socket
>  - unix socket is not ready or non-existent
>  - zdctl sleeps for 1 second
>  - zdctl retries the connection
>
> The socket is usually ready pretty quickly (especially on hot caches),
> so sleeping for 1 second is quite a lot.
>
> The attached patch speeds up startup by making zdctl launch zdrun by
> fork(), and then sharing a pipe so that zdrun can tell zdctl when the
> socket is ready.

Wouldn't it be a lot simpler to simply sleep less?  It sounds like  
sleeping .1 would speed it up by a factor of 10. :)

>
> It's not that pretty but it does speed up startup quite significantly.
> Would you consider this approach? If so I will update it for the  
> latest
> zdaemon (it's generated against zodb-3.3, sorry..) and clean up the
> whitespace etc.
>
> Are there any released versions of zdaemon (I note it's no longer
> included in the zodb tarballs) or should I get it from svn?

It's on PyPI: http://www.python.org/pypi/zdaemon

You can also get it from svn.

Jim

--
Jim Fulton			mailto:jim at zope.com		Python Powered!
CTO 				(540) 361-1714			http://www.python.org
Zope Corporation	http://www.zope.com		http://www.zope.org





More information about the ZODB-Dev mailing list