You can do something like:

/usr/bin/taskset -c 0 zeo/bin/zeoctl start
/usr/bin/taskset -c 1 zope.a/bin/zopectl start
/usr/bin/taskset -c 2 zope.b/bin/zopectl start
/usr/bin/taskset -c 3 zope.c/bin/zopectl start

You then need to load-balance across the ZOPE instances with (eg Pound or Squid).

AFAIK it's only Python-based programs that need binding to a particular CPU, so Apache, Pound and Squid are fine without setting any affinity.

Since ZEO is not very CPU intensive, you can share it's CPU with another ZOPE instance should you wish.

We're running twin ZOPE instances and ZEO on a dual CPU Debian box, load balancing with Pound and caching and URL rewriting with Apache. The feeling these days seems to be that load balancing and caching with Squid gives better performance.


Steven Hayles - Computer Systems Developer, [EMAIL PROTECTED]
Learning Technology Section, Computer Centre, University of Leicester, University Rd, Leicester, LE1 7RH Fax (0/+44)116 2525027 WWW <URL:>

On Wed, 15 Mar 2006, Hugo Ramos wrote:


I'm using Zope+Apache on a 4 xeon's/4GB ram machine running Debian.
I've noticed that the CPU's never go beyond 30% top occupation... but
on rush hours the site takes too long to load...

I've been reading about process affinity and how it could speed up
everything by making zope run on 1 CPU, Apache on another and so on...

Has any1 tried this before? Can you point me to some documentation?
What's your experience? is it true that not doing this the 4 cpu's
will not be 100% used?

Zope maillist  -
**   No cross posts or HTML encoding!  **
(Related lists - )

Zope maillist  -
**   No cross posts or HTML encoding!  **
(Related lists - )

Reply via email to