Robert Brewer
fumanchu at amor.org
Tue Nov 30 17:51:33 EST 2004
Huzaifa Tapal wrote: > Yes I am using linux on a debian OS. How can I configure > apache to not run > with mpm_prefork? Pretty much I want to use Shared Memory > with mod_python > so that for simultaneous requests it uses any modules that are already > loaded in memory rather than instantiating new processes. > > Any ideas? Two ideas/options: 1. Recompile Apache. http://httpd.apache.org/docs-2.0/mpm.html 2. Put your app in its own process that runs forever, and use IPC between your mod_python app and your persistent process. Robert Brewer MIS Amor Ministries fumanchu at amor.org > -----Original Message----- > From: mod_python-bounces at modpython.org > [mailto:mod_python-bounces at modpython.org] On Behalf Of Damjan > Sent: Tuesday, November 23, 2004 6:49 PM > To: mod_python at modpython.org > Subject: Re: [mod_python] module caching problem > > > I am running into a problem with mod_python in that, I am > importing a > module > > in the handler which creates a singleton in memory. I am > using the module > > to hold cache information for any other modules that import the same > module. > > > > I started testing the cache mechanism when I noticed that > the module was > > being imported multiple times and not just once after the > first request > > after apache had started. To test this, I put a few lines > of code in the > > module to write to a file the time it was last imported. I > noticed that > > after restarting apache, the first time it writes to the > file. If I hit > > refresh on my page immediately, multiple times, it doesn't > write. If I > wait > > like 10 seconds or more and then hit refresh again, it > reimports that > module > > that should have been cached. > > > > Also, If I make a request for a page from two different clients, it > > reimports the module from each client. Am I mistaken in > thinking that any > > module imported in the handler then is cached in > mod_python's module cache > > and subsequent imports of that module then are simply > served up from the > > cache. Under what conditions then would the same module > get reimported if > > no modifications were made to that module? > > I guess your are runnig Apache with mpm_prefork? > In that case there's a completely different python > interpreter for each > Apache process, so your caching module is loaded in each of them. > > Your testing showed how apache processes get to serve > requests, if it gets > two simultaneus requests two apache processes will be active, each > serving one of the request. But if you only generate one request after > another, its most likely that the same process will serve both > requests... of course this depends on OS implementation... I think you > are running on Linux, no? > > -- > damjan | дамјан > This is my jabber ID --> damjan at bagra.net.mk <-- not my mail > address!!! > _______________________________________________ > Mod_python mailing list > Mod_python at modpython.org > http://mailman.modpython.org/mailman/listinfo/mod_python > > > > _______________________________________________ > Mod_python mailing list > Mod_python at modpython.org > http://mailman.modpython.org/mailman/listinfo/mod_python >
|