Graham Dumpleton
graham.dumpleton at gmail.com
Tue Jul 3 03:03:40 EDT 2007
Hmm, that will not actually work as mod_python doesn't make the attribute writable like it should. May have to set it off for whole server by setting in Apache configuration: KeepAlive Off Graham On 03/07/07, Graham Dumpleton <graham.dumpleton at gmail.com> wrote: > To turn off keep alive and thus chunked output, try: > > req.connection.keepalive = apache.AP_CONN_CLOSE > > before you start writing any response data. > > Graham > > On 03/07/07, yubing <trueice at gmail.com> wrote: > > I've observed that, Apache will automatically convert the transfer-encoding > > to chunked upon a HTTP/1.1 response without content-length specified. Is > > there any known memory issue with chunked-encoding? > > > > thanks a lot~ > > > > > > > > On 7/3/07, yubing <trueice at gmail.com> wrote: > > > Our project has a live HTTP video streamer written in python, which keeps > > pumping a stream out to the client. > > > The HTTP serving module is a simple mod_python request handler running on > > Apache 2.2.4 with mod_python 3.3.1 (Python 2.5.1). > > > The stream is read out of our streaming server via TCP socket, and the > > python script just do some simple processing like header building, each > > allocated buffer is del-ed after being used. > > > > > > The problem is: > > > We observed that after its running serveral hours, its memory occupation > > grows up to serveral hundreds of megabytes and keeps growing in 4k-8k > > increment every 1-2 seconds. > > > > > > Below is a simple testing scriptlet, the memory leaking issue is not so > > serious as our live serving module, but you can still observe 4k memory > > growing every serveral seconds. > > > > > > Could anyone help me to figure out the root cause of this issue? > > > > > > -------------------------- > > > import time > > > > > > def pump_file(req): > > > while(True): > > > fp = open("/dev/zero", "r") > > > buf = fp.read(4096) > > > try: > > > req.write(buf) > > > del buf > > > time.sleep(0.1) > > > except: > > > fp.close() > > > break > > > > > > --------------------------------------- > > > > > > > > > -- > > > truly yours > > > ice > > > > > > > > -- > > truly yours > > ice > > _______________________________________________ > > Mod_python mailing list > > Mod_python at modpython.org > > http://mailman.modpython.org/mailman/listinfo/mod_python > > > > >
|