Re: [Zope] Zope scalability / efficiency question

2005-09-22 Thread Julien Anguenot
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Fernando Lujan wrote:
 On 9/20/05, Andrew Sawyers [EMAIL PROTECTED] wrote:
 
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
 
 
 Hi Andrew,
 
 And how can I distribute the load over these Instances, running on the
 same machine?
 

You may use load balancers such as :

 - pound : http://www.apsis.ch/pound/
 - balance : http://www.inlab.de/balance.html (not sticky last time I
used it)

and probably others.

Cheers,

J.

- --
Julien Anguenot | Nuxeo RD (Paris, France)
CPS Platform : http://www.cps-project.org
Zope3 / ECM   : http://www.z3lab.org
mail: anguenot at nuxeo.com; tel: +33 (0) 6 72 57 57 66
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org

iD8DBQFDMrDEGhoG8MxZ/pIRAsKKAJ9qxWcxH/6Kujvmxnvq2VlVrff6RgCfRC0V
1ItmtQGQiAnS89h+7tP9XXY=
=/2zA
-END PGP SIGNATURE-
___
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 )


RE: [Zope] Zope scalability / efficiency question

2005-09-22 Thread Andrew Sawyers
Any load balancer should be able to do this, google for your OS there.  The
load balancer I use LVS.  See http://www.linuxvirtualserver.org/ for more
details.

Andrew Sawyers
--
Zope Managed Hosting
Software Engineer
Zope Corporation
(540) 361-1700 

 -Original Message-
 From: Fernando Lujan [mailto:[EMAIL PROTECTED]
 Sent: Wednesday, September 21, 2005 5:35 PM
 To: Andrew Sawyers; zope@zope.org
 Subject: Re: [Zope] Zope scalability / efficiency question
 
 On 9/20/05, Andrew Sawyers [EMAIL PROTECTED] wrote:
  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
 
 Hi Andrew,
 
 And how can I distribute the load over these Instances, running on the
 same machine?
 
 Thanks in advance.
 
 Fernando Lujan

___
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 )


Re: [Zope] Zope scalability / efficiency question

2005-09-20 Thread J Cameron Cooper

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@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 )


RE: [Zope] Zope scalability / efficiency question

2005-09-20 Thread Andrew Sawyers
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: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of J
 Cameron Cooper
 Sent: Tuesday, September 20, 2005 1:26 PM
 To: [EMAIL PROTECTED]
 Cc: zope@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@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 )