[Zope] high loads, more threads, spinning wheels

Jim Abramson jabramson at wgen.net
Mon May 2 09:28:16 EDT 2005


Thanks Stefan & Jens...

> > if yes, would upping the number of ZODB connections 
> effectively raise 
> > the ceiling - e.g. 12 ZODB connections -> 12 threads should perform
> > properly ?   Is increasing the number of ZODB cx's 
> possible, let alone
> > advisable?  (why the default of 7 - not 6 or 8?)
> >
> 
> Upping the number of threads is unlikely to give you better 
> performance. The only case where this could make sense is if 
> you had something like a highly saturated RDBMS backend, 
> tying up your worker threads.
>

Well this is *exactly* the issue I'm facing.  I need to soften
the impact of this situation if possible, and it's going to be
ZEO in the end, but rolling this out is probably not going to 
be possible in the very short term.

> But - Zope threads don't operate like you probably expect 
> from knowing Apache and similar models. For one, they *never* 
> will run in parallel. 
> Python employs a global interpreter lock (GIL), so there will 
> only be a single thread "working" at all times. What you want 
> is to up the number of processes (interpreters) not the 
> number of threads. Hence ZEO.
> 

So far I've done some very off-the-cuff tests upping the 
threads/connections to 12/16 and banging on it with jmeter.  
The results were favorable in comparison to the default config.  
Could this have been a fluke?

Jim


More information about the Zope mailing list