[Zope] Performance and Concurrency
Cary O'Brien
cobrien@Radix.Net
Wed, 8 Mar 2000 08:55:58 -0500 (EST)
I was reading the thread about Zope vs AOLServer and performance
and threading and all that.
I've done some work with other interpreters embedded in the apache
child processes (tcl, mod-perl) so I started wondering if this would
work for zope. Somewhere I think there is a Python interpreter
embedded a'la mod-perl. If not, I'm pretty sure it can be done
without too much grief, using mod-perl and mod-dtcl as starting
points or examples.
It seems to me this would allow utilization of multiple processors,
esp for apps with a database backend, since the work would be split up
over n frontend apache server processes and n backend database
processes (at least for oracle an PostgreSQL)[1]. All without
worrying about threading...
But...
What happens when multiple processes attempt to access the zame ZODB
Data.fs file? Is it multi-process safe? Thread safe? How big are
the sections protected by the mutexes? (or more importantly how long
do they take to execute).
Thanks,
-- cary
[1] m apache talking to n database backend process, m > n, might be
even nicer in some cases. Gotta write that PostgreSQL backend
multiplexor someday.