[mod_python] Mod_python and Sub-Interpreter segregation

Bryan Mongeau bryan at eevolved.com
Fri Sep 13 19:59:42 EST 2002

Thanks for all the great replies everyone! I appreciate it.

On September 13, 2002 09:58 pm, Brian Hawthorne wrote:
> hmmm,
> currently you can share global vars if you set apache to have exactly one
> child process (but to great performance detriment).  i was imagining you
> could do the same in the perthread server by setting the numprocs=1 and
> letting the numthreads grow/shrink (recouping the performace hit with
> extra threads).

Thanks alot for this idea! I compiled apache with the worker MPM, set 
StartServers to 1 and ThreadsPerChild to 64. The result? My shared memory hit 
counter works perfectly and clocks about 50 hits/sec on my 800 Mhz, which, 
according to my rough hand benchmarks, is actually a little faster than using 
prefork with StartServers at 5!

Seems as if my problem is solved.. at least for now, thanks!

> actually, it should be pretty easy to wrap a bit of code around python
> shelve to turn some dbm file into a modpyglobal repository of python objs
> keyed by varname.  that's what i would do if i didn't feel like dealing
> with a real db.  also, if you don't use an external repository, you have
> to worry about server restarts and child procs getting killed etc.

This is almost exactly what I have in mind :) More later,
Bryan Mongeau
eEvolved Inc. - IT Consulting & Custom Software
"Let us understand what our own selfish genes are up to, because we may then 
at least have a chance to upset their designs, something that no other 
species has ever aspired to do." -- Richard Dawkins

More information about the Mod_python mailing list