[Zope] Zope scalability / efficiency question

Andrew Sawyers andrew at zope.com
Tue Sep 20 13:45:33 EDT 2005


I did some tests a few years back, basically that came out such that you run
the number of zope instances as you have CPUs.  I was able to get double the
performance of a single instance on a dual cpu server when adding a second
instance.  On a single CPU server, I found that the number of requests the
server was able to render was cut by nearly 50% +/- when adding a second
instance.

My rule for building out ZEO Client servers is:
Single CPU - Single Zope instance
Multiple Processors - # CPUs == # of Zope instances

Make sure you have enough ram if you're running multiple instances.  

The number of sites you can run from a single instance without cache
problems really takes some localized knowledge of how your instances are
performing.  I run *lots* of sites from a single Zope instance without
splitting them off at the load balancer into different mini-pools.  I do
this because I can, but if I was performance challenged from, say, cache
flipping, I would definitely do this.

You could likely better off if you ran all of your sites within a single
instance (spread across multiple multi-processor machines with enough ram (2
- 4 GBs should do?)).  It's a tough question to answer with much precision
without intimate knowledge of what you're doing and how your systems are
performing.  If they're in the same zope instance, managing them as separate
entities is difficult.  Your application and maintenance of these sites
might be the best determination for how you should factor the instances
across your hardware.

Andrew Sawyers

--
Zope Managed Hosting
Software Engineer
Zope Corporation
(540) 361-1700 
> -----Original Message-----
> From: zope-bounces at zope.org [mailto:zope-bounces at zope.org] On Behalf Of J
> Cameron Cooper
> Sent: Tuesday, September 20, 2005 1:26 PM
> To: mark.hellewell at gmail.com
> Cc: zope at zope.org
> Subject: Re: [Zope] Zope scalability / efficiency question
> 
> mark hellewell wrote:
> > Hi everyone, I've got a question I'd really appreciate some input on.
> >
> > If I'm running perhaps a dozen Zope sites, experiencing anywhere
> > between several hits per second to a lot less, would it potentially
> > be more efficient (decreased latency etc.) to run each site as its own
> > Zope instance or have one Zope instance running muliple (CMF based)
> > sites.
> >
> > I haven't even thought about adding ZEO into the mix yet.
> >
> > The basic aim of the exercise is to find out how many usable
> > zope instances / sites I could get onto a typical mid-range
> > modern server.
> >
> > I know it's a bit of a "how long are your pieces of string" sort
> > of question, but any help you could offer would be gratefully
> > accepted! If anyway has any experience of this sort of setup
> > and can offer a little insight it might reduce the amount of
> > testing I have to do myself.
> 
> I don't think you'll see any improvement unless you have a
> multi-processor machine. In such a case, running X processes (where C is
> the number of cores) will fully load the machine, since Python threads
> won't skip processors.
> 
> On a single-core machine, multiple instances probably will just increase
> your overhead, especially in memory. But I could be wrong: there's so
> many variables the best way to know is to test. (Caches and usage
> patters, for instance, can make a big difference.)
> 
> If you do have several sites, you could be running into cache eviction
> issues since there are a lot of objects that need to be accessed. Check
> your cache fullness and watch your ZODB usage chart for excessive loads.
> 
> 		--jcc
> --
> "Building Websites with Plone"
> http://plonebook.packtpub.com/
> 
> Enfold Systems, LLC
> http://www.enfoldsystems.com
> _______________________________________________
> Zope maillist  -  Zope at 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 )



More information about the Zope mailing list