Sharing the DB connection probably is not a good idea and having one connection on each worker is not such a big overhead, as for the shared array, that is very tricky if you don't have control over process spawning and that sort of stuff, a easy way would be using shared memory mechanism such as mmap:
http://docs.python.org/2/library/mmap.html Other methods may work such as the posix_ipc, sysv_ipc or shm modules. On Fri, May 17, 2013 at 12:15 PM, Andriy Kornatskyy < [email protected]> wrote: > How about to use memcache on the same host to share data between processes? > > Andriy > > > ________________________________ > > From: [email protected] > > Date: Fri, 17 May 2013 11:57:30 -0700 > > To: [email protected] > > Subject: [uWSGI] sharing objects amongst workers > > > > We are using the pymongo driver with mongodb and as it stands, it looks > > like each worker gets its own connection. Is there any way to share a > > database connection in memory among the workers? I've read about ksm > > on the readthedocs page, is that applicable here? > > > > We also have a bunch of python objects being stored in memory, would > > KSM be helpful in sharing memory among the workers for this? > > > > For example: > > Currently we have an identical list being stored on each worker (we > > keep the list stored in a python variable because its large and we need > > to access it quickly so storing in the uwsgi cache and pickling and > > unpickling (the only way I can think of to store a python object in the > > cache) each request, would be too slow) and we have 6 workers. This > > means we are using several times the memory we actually need to. Is > > there any way to share a global python object among all of the workers? > > All we do is read from it, we only modify it when we are completely > > refreshing it periodically. > > > > The overarching question is, how do i share db connections and python > > objects globally, so each worker doesn't need to have their own copy of > > the python objects and we aren't keeping so many db connections open? > > > > _______________________________________________ uWSGI mailing list > > [email protected] > > http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi > _______________________________________________ > uWSGI mailing list > [email protected] > http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi >
_______________________________________________ uWSGI mailing list [email protected] http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi
