Hi, We are setting up a cluster of ZEO clients on dual processor machines.
From some experiments and from searching through the mailing lists, it appears that a single Zope process will not take full advantage of the two processors.
The solution would appear to be to run two ZEO clients on each server. This, however, is causing problems. I can successfully run two Zope (non-ZEO) processes on a single machine, but two ZEO clients don't seem to coexist nicely on the Windows 2000 machine. The second client to start will accept connections, but never responds with anything. Zope: 2.3.2, ZEO: 1.0b3, Windows 2k for clients, Linux and Windows 2k for storage server. Is there a better solution? If not, has anyone come across this problem? Any pointers appreciated -d
Hi Dyon, ZEO on a dual processor machine runs fine for me. I'm using redhat-linux for the server (ZEO and Clients on same machine) If you dont need strange things I would not recommend Win2k as server platform. Best regards Tino Wildenhain --On Mittwoch, 23. Mai 2001 11:35 -0700 Dyon Balding <dyon@devcoder.com.au> wrote:
Hi,
We are setting up a cluster of ZEO clients on dual processor machines. From some experiments and from searching through the mailing lists, it appears that a single Zope process will not take full advantage of the two processors.
The solution would appear to be to run two ZEO clients on each server. This, however, is causing problems.
I can successfully run two Zope (non-ZEO) processes on a single machine, but two ZEO clients don't seem to coexist nicely on the Windows 2000 machine. The second client to start will accept connections, but never responds with anything.
Zope: 2.3.2, ZEO: 1.0b3, Windows 2k for clients, Linux and Windows 2k for storage server.
Is there a better solution? If not, has anyone come across this problem?
Any pointers appreciated -d
_______________________________________________ Zope-Dev maillist - Zope-Dev@zope.org http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
Tino, Thanks for your reply. When you say it works fine on a dual processor machine, are you saying that a single ZEO client fully utilises both processors? or that you are running two ZEO clients successfully? Unfortunately I'm currently stuck with Windows due to both political reasons, and because we are interfacing to a large SQLServer database. -d On Wed, May 23, 2001 at 08:44:59PM +0200, Tino Wildenhain wrote:
Hi Dyon,
ZEO on a dual processor machine runs fine for me. I'm using redhat-linux for the server (ZEO and Clients on same machine) If you dont need strange things I would not recommend Win2k as server platform.
Best regards Tino Wildenhain
--On Mittwoch, 23. Mai 2001 11:35 -0700 Dyon Balding <dyon@devcoder.com.au> wrote:
Hi,
We are setting up a cluster of ZEO clients on dual processor machines. From some experiments and from searching through the mailing lists, it appears that a single Zope process will not take full advantage of the two processors.
The solution would appear to be to run two ZEO clients on each server. This, however, is causing problems.
I can successfully run two Zope (non-ZEO) processes on a single machine, but two ZEO clients don't seem to coexist nicely on the Windows 2000 machine. The second client to start will accept connections, but never responds with anything.
Zope: 2.3.2, ZEO: 1.0b3, Windows 2k for clients, Linux and Windows 2k for storage server.
Is there a better solution? If not, has anyone come across this problem?
Any pointers appreciated -d
_______________________________________________ Zope-Dev maillist - Zope-Dev@zope.org http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
-- Dyon Balding <dyon@devcoder.com.au>
Since a single Python process has a single global interpreter lock, you'll never fully utilize a 2-processor machine. The lock is released whenever a socket call (send, receive, listen, etc.) is made, so that provides some opportunity for using two CPUs, but not much. Jeremy
At 08:26 PM 5/23/2001 -0400, Jeremy Hylton wrote:
Since a single Python process has a single global interpreter lock, you'll never fully utilize a 2-processor machine.
I may be merely demonstrating ignorance, but -- If you, say, launched two separate Zope processes, and one ZEO process, on the same machine, aren't you going to be running 3 different Python interpreters, each in it's own process? Couldn't you then be utilizing up to three processors on an SMP box? I agree that threads within a particular Python interpreter are not really going to gain anything because of the global interpreter lock, but isn't that a moot point with separate Python interpreter processes? Or does the TCP/IP stack cause problems? dave
"DB" == David Brown <ddb@namshub.org> writes:
DB> At 08:26 PM 5/23/2001 -0400, Jeremy Hylton wrote:
Since a single Python process has a single global interpreter lock, you'll never fully utilize a 2-processor machine.
DB> If you, say, launched two separate Zope processes, and one ZEO DB> process, on the same machine, aren't you going to be running 3 DB> different Python interpreters, each in it's own process? DB> Couldn't you then be utilizing up to three processors on an SMP DB> box? Yes. I may have misread the original question. I thought the SMP machine was running the ZEO server. If Zope and ZEO clients are both running on the same machine, I would assume they would run concurrently on separate processors. Jeremy
Well that's what I'm trying to do, but as mentioned in my original post, any Zope clients utilising ZEO started after the first one do not respond. The ZEO storage server is running on a separate machine, serving the 15 client machines. -d On Wed, May 23, 2001 at 05:51:57PM -0700, David Brown wrote:
At 08:26 PM 5/23/2001 -0400, Jeremy Hylton wrote:
Since a single Python process has a single global interpreter lock, you'll never fully utilize a 2-processor machine.
I may be merely demonstrating ignorance, but --
If you, say, launched two separate Zope processes, and one ZEO process, on the same machine, aren't you going to be running 3 different Python interpreters, each in it's own process?
Couldn't you then be utilizing up to three processors on an SMP box?
I agree that threads within a particular Python interpreter are not really going to gain anything because of the global interpreter lock, but isn't that a moot point with separate Python interpreter processes?
Or does the TCP/IP stack cause problems?
dave
-- Dyon Balding <dyon@devcoder.com.au>
On 24 May 2001 05:07:30 +1000, Dyon Balding wrote:
Tino,
Thanks for your reply.
When you say it works fine on a dual processor machine, are you saying that a single ZEO client fully utilises both processors? or that you are running two ZEO clients successfully?
I am running dozens of them on a single machine, works damned well. Pretty snappy too. Of course, this is under Linux, so YMMV. Each domain/server cluster runs approximately 3 ZCs apiece.
Unfortunately I'm currently stuck with Windows due to both political reasons, and because we are interfacing to a large SQLServer database.
Well, AIUI, the latter is easily solved. :)
Hi Dyon, --On Donnerstag, 24. Mai 2001 05:07 +1000 Dyon Balding <dyon@devcoder.com.au> wrote:
Tino,
Thanks for your reply.
When you say it works fine on a dual processor machine, are you saying that a single ZEO client fully utilises both processors? or that you are running two ZEO clients successfully?
I'm running 2 clients at the same time (actually I'm running 3: 2 clients for HTTP requests and one client for FTP)
Unfortunately I'm currently stuck with Windows due to both political reasons, and because we are interfacing to a large SQLServer database.
political reasons... will they never lern... However, we are using strange databases with ZmxODBCDA/mxODBC and Merant (http://www.merant.com) middleware. This way we only have one NT Box to access the databases. Regards Tino
-d
On Wed, May 23, 2001 at 08:44:59PM +0200, Tino Wildenhain wrote:
Hi Dyon,
ZEO on a dual processor machine runs fine for me. I'm using redhat-linux for the server (ZEO and Clients on same machine) If you dont need strange things I would not recommend Win2k as server platform.
Best regards Tino Wildenhain
--On Mittwoch, 23. Mai 2001 11:35 -0700 Dyon Balding <dyon@devcoder.com.au> wrote:
Hi,
We are setting up a cluster of ZEO clients on dual processor machines. From some experiments and from searching through the mailing lists, it appears that a single Zope process will not take full advantage of the two processors.
The solution would appear to be to run two ZEO clients on each server. This, however, is causing problems.
I can successfully run two Zope (non-ZEO) processes on a single machine, but two ZEO clients don't seem to coexist nicely on the Windows 2000 machine. The second client to start will accept connections, but never responds with anything.
Zope: 2.3.2, ZEO: 1.0b3, Windows 2k for clients, Linux and Windows 2k for storage server.
Is there a better solution? If not, has anyone come across this problem?
Any pointers appreciated -d
_______________________________________________ Zope-Dev maillist - Zope-Dev@zope.org http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
-- Dyon Balding <dyon@devcoder.com.au>
participants (5)
-
Bill Anderson -
David Brown -
Dyon Balding -
Jeremy Hylton -
Tino Wildenhain