[Zope] Zope performance too low ?

Brian Lloyd Brian@digicool.com
Wed, 16 Jun 1999 09:28:51 -0400


> I guess the subscribers to this list, more or less, like 
> working with Zope.
> Developing dynamic pages is quick and easy, and code/design 
> integration is
> very comfortable.
> 
> However I'm starting to doubt if it's worth it. Some quick 
> benchmarking with
> apache's ab utitlity gave the following results on my 
> server(50 requests, no
> concurrency, ab ran on the server machine):
> 
> Copy of the Zope welcome screen(served from disk):	204.08 
> requests per
> second
> The Zope welcome screen(served from Zope):       	14.38 
> requests per second
> A page with lots of DTML Code(about 50 lines):        	
> 2.68 requests per
> second

I'm not that familiar with ab, but you don't give a lot of
information on your setup here (processor, memory, load 
(discounting zope), publishing mechanism (pcgi? ZServer? mod_pcgi?),
details of the DTML used), which would be helpful to put this kind 
of information in context.

The numbers you give above seem _way_ low to me compared to some 
general benchmarking that has been done in the past. The only really 
reliable benchmark, of course, is a real live site - and Zope is 
currently running a number of rather high-traffic sites without 
problems (and with far better throughput than the numbers you got 
with ab).

Note that I'm not discounting your results above, I just suspect that
there is an underlying reason for them. Having done some benchmarking
in the past, I'm a firm believer that you can prove anything you want
with a benchmark - just ask the Apache group, who were totally hosed
in a recent (laughable) NT/IIS vs. Linux/Apache benchmark :)

That said, we do not think that benchmarking it useless - we are
very receptive to constructive criticism, and having members of
the Zope community develop credible benchmarks is a great way to
help discover and solve performance problems. If nothing else, it
would provide some comparative information to the community on how 
best to field Zope based on their performance requirements and
server environment.

For instance, I would bet that if you ran that same benchmark using
Zope/ZServer instead of PCGI, you would get very different results,
having removed the need to spawn a process on every hit. That could
indicate that server load/memory/swap/process spawn time considerations
are causing the hit seen above. If one were to investigate this and find
that such-and-such seemed to cause a big hit on Zope response time, it
would be very useful to make this data available to the community.
Having
this kind of background data would allow folks to better evaluate the
kind 
of server environment they need, and allow us all to decide that
Something 
Must Be Done if a problem seems apparent.



Brian Lloyd        brian@digicool.com
Software Engineer  540.371.6909              
Digital Creations  http://www.digicool.com