[mod_python] IPC, db conn sharing, and other fine things

Joshua Adam Ginsberg joshg at myrealbox.com
Tue Aug 26 05:29:09 EST 2003

Hello -

You will have to forgive me if this is often covered... I perused the
last six months of postings for answers to these questions, and still
have not yet found exactly what I'm looking for...

Additionally, please understand that my serious web development
experience comes from AOLServer and it's unique brand of TCL... if
you're unaware of the project, AOLServer was the original (and in many
opinions still the best) multi-threaded, thread-safe, database
connection pooling, strong API'ed webserver...

AOLServer had many features that I came to know, love, and depend on...

- nsv buckets --- nsv == NaviServer (AOLServer's original name) shared
variables... they were effectively arrays that stored information
accessible and modifiable by any running thread... perfect for caching
database information for faster generation of dynamic pages...

- database connection pooling --- provided easy, standardized, and
scalable access to existing database connections

I spent about six or seven months developing an enterprise caliber web
applications toolkit using AOLServer, and honestly, I cannot envision
having anything "enterprise caliber" without some sort of interprocess
communication and some sort of connection pooling...

I've used Apache now for a total of two weeks... I've read documentation
detailing the prefork versus the threading mpm models... I've read the
mod_python documentation available... but I still can't find a decent
way to replicate the services that AOLServer provided natively...

And unfortunately the reason I switched to Apache is that many of my
clients want to have their sites hosted by some mass hosting provider
that only uses Apache... I can find ones that are willing to use
mod_python, but I can't find ones that are willing to install
AOLServer... and any sort of IPC or db-pooling services I write can't
depend on external daemons... obviously I could write some sort of
caching daemon in Python that used UNIX sockets and some simple
key/value pair protocol to do db data caching... or I could write some
sort of db-pooling daemon... but good luck trying to get a mass-hosting
provider to run some homemade daemon on their servers...

So I suppose what I'm asking is that is there any way natively in
mod_python to support these enterprise critical features? And if not,
how the hell do you guys who use mod_python manage to have massive
hit-per-second sites without data caching?

Thank you for any guidance you could provide.


More information about the Mod_python mailing list