[omniORB] Server Performance

Duncan Grisby dgrisby@uk.research.att.com
Tue, 13 Mar 2001 15:39:14 +0000


On Monday 12 March, "John D. Heintz" wrote:

[...]
> We do have a two processor machine.  We are also aware of Python's 
> global interpreter lock  ;-(
> 
> To take advantage of the dual-proc we are planning on running the 
> database and two CORBA servers on the machine.  We are using ZODB for 
> Python persistence and plan on using ZEO to distribute client 
> connections.  See http://www.zope.org for details.
> 
> The processor behavior that we are seeing it that both processors max 
> out at about 40-50%.  Is this what you would expect to see from Python's 
> global lock?

If you are running two separate Python processes then I would expect
you to be able to get near to 100% utilisation on both. If you are
only running one process, I'd expect about 50% on each.

Are you doing lots of disk IO?  It may be that you're spending half
your time just waiting for disk accesses. Alternatively, maybe you
have a slow network, so you're waiting for network transmission. Try
putting some busy wait loops in your code and see if the processor
utilisation goes up :-)

Cheers,

Duncan.

-- 
 -- Duncan Grisby  \  Research Engineer  --
  -- AT&T Laboratories Cambridge          --
   -- http://www.uk.research.att.com/~dpg1 --