[Zope-dev] What makes Zope twirl?

Shane Hathaway shane@zope.com
Fri, 07 Feb 2003 10:06:55 -0500


On 02/07/2003 11:43 AM, Gilles wrote:
> Hello,
> 
> I am working since a long time with zope and was continuously worried about
> a few problems, unfortunately none of them was fixed along the years:
> 
> - zserver can not 'recover' busy thread
> - log show nothing in case of blocking: log is written when the request is
> completed, and the log is not flushed at every request. I don't thing Big-M
> will help.
> - when all thread are busy there is no way to access zope, even to restart
> it.

It's worth noting that even Apache suffers from the same problems, but 
Apache gets around this through the use of forked processes rather than 
threads.  If a process spins, Apache can just kill it.  To see if 
something is spinning, you can use "top".  Apache is just as 
inaccessible as Zope when all processes are used up, but it usually 
takes longer to use up all the processes.

Zope could do the same thing.  You could set up a collection of 
single-threaded ZEO clients and automatically spawn more clients as load 
increases.  I've suggested this before, but the need doesn't seem to be 
there.

> The annoying thing about this is when you tell other IT peoples: Zope is
> very nice, powerful, free, but there is maybe a stability problem. Then
> later on you see thoses guys going for another solution. I am working for
> the European-Space-Agency and I can tell that at my site (Italie) there is
> only one extranet site Zope powered, made by me, and I promote zope since
> years(or zope 1.0). Obviously I am not a good 'promoter'

You have to keep it in perspective.  Spin prevention is a small part of 
the stability equation.  Zope is quite stable--if it weren't, CBS, SGI, 
and others wouldn't use it.

Shane