[Zope] Zope performance documentation

Chris McDonough chrism@zope.com
31 Mar 2003 10:19:40 -0500


Hi Fabio,

You can expect Zope on a typical commodity Intel box under Linux to
serve between 15 - 50 requests per second, depending on how
processor-intensive the page rendering is.

So back-of-the-napkin calculation comes out that to support 16 requests
per second (1000 request/min distributed evenly over the minute),
depending on how well-written your application is, you may be able to
get away with using one Zope app server.  Of course, this is a lot to
assume.

The best way to do capacity planning like this is to start with the
question "how long is the longest acceptable time that a request to my
application should take?"  Then estimate what "peak load" will be.  An
example of "peak load": "60 simultaneous requests, half hitting the home
page, half rendering a news item".  Then work towards testing your
application under this load, figuring out what its performance
characteristics are.  If requests to the site under this load meet your
"longest acceptable time" requirements, you're done.  If they don't,
you'll either need to make your application faster, add hardware, or
change your configuration.

In any case, you'll probably want to use a cache server of some kind
(Apache via mod_proxy or Squid) to help serve some of that content, at
least the static content which is highly-cacheable.  This provides the
"biggest bang for the buck" against changing your application or adding
appservers (it's typically cheaper and more effective if you can get
away with it).  For sites where almost all page views need to be
personalized (via authentication or other conditional page rendering),
however, it's difficult to get any return from caching save for images
and whatnot.

One fast way to do some load testing before going in to production is to
use Apache's "ab" tool to get an idea of how fast various pages render. 
Another is to use a tool named OpenSTA to model a more complicated set
of system loads.

- C


On Mon, 2003-03-31 at 09:57, Fabio Rolando wrote:
> First of all thank you a lot for you attention.
> I'm quite new to Zope so it is still difficoult to understand how it will 
> work when the system will be deployed.
> We need to size the system for (all values are the absolute maximumwe 
> expect) 10.000 authenticated users, 10.000 documents (5000 pdf with 200 Kb 
> average size, and 500 html), 1000 hits/minute. Do you think we can use Zope 
> alone (no ZEO, no Apache)?
> Does the server's hardware need to carry anything special?
> Thank you.
> 
> 
> 
> > >> Hardware is up to you and what you need. You can run it on almost
> > >> anything, but if you are going to run http://www.cbsnewyork.com you
> > >> will
> > >> need more (I think I read that all the sites combined in that Zope
> > >> installation run on 48 dual proc linux boxes).
> > >
> > > that's way off (it's less). maybe i'll ask the boss-man today to see if
> > > i am allowed to publish some real figures in a document somewhere.
> > >
> > > jens
> > >
> > >
> > > _______________________________________________
> > > Zope maillist  -  Zope@zope.org
> > > http://mail.zope.org/mailman/listinfo/zope
> > > **   No cross posts or HTML encoding!  **
> > > (Related lists -
> > >  http://mail.zope.org/mailman/listinfo/zope-announce
> > >  http://mail.zope.org/mailman/listinfo/zope-dev )
> > >
> >
> >
> >_______________________________________________
> >Zope maillist  -  Zope@zope.org
> >http://mail.zope.org/mailman/listinfo/zope
> >**   No cross posts or HTML encoding!  **
> >(Related lists -
> >  http://mail.zope.org/mailman/listinfo/zope-announce
> >  http://mail.zope.org/mailman/listinfo/zope-dev )
> 
> 
> _______________________________________________
> Zope maillist  -  Zope@zope.org
> http://mail.zope.org/mailman/listinfo/zope
> **   No cross posts or HTML encoding!  **
> (Related lists - 
>  http://mail.zope.org/mailman/listinfo/zope-announce
>  http://mail.zope.org/mailman/listinfo/zope-dev )