Re: [Twisted-Python] twisted.web.server and memory
Run the following web server (memoryhogserver.py) and load the provided form (post.html) into a browser of your choice and choose a large file (~100MB) to submit. Notice the memory usage of the python process (on my machine, around 150MB resident). memoryhogserver.py: from twisted.web.resource import Resource from twisted.web import server, resource from twisted.internet import reactor import os class ROOT(Resource): def __init__(self): Resource.__init__(self) def getChild(self, name, request): if name == "": return self return Resource.getChild(self, name, request) def render_GET(self, request): return "<html>root dir</hrml>" class UPLOAD(ROOT): def render_POST(self, request): f = open("/tmp/testfile","wb") f.write(request.args.get('filename')[0]) f.close() return "<html>upload successful</html>" def render_GET(self, request): return "'upload' must use POST" if __name__ == '__main__': root = ROOT() root.putChild('upload',UPLOAD()) site = server.Site(root) reactor.listenTCP(7000, site) print "webserver listening on port 7000" reactor.run() post.html: <html> <form method="POST" enctype="multipart/form-data" action="http://localhost:7000/upload"> <input type="file" name="filename"> <input type="submit"> </form> </html> (all in the spirit of replying to my own posts :) -- Lenny G. --- Lenny G Arbage <alengarbage@yahoo.com> wrote:
A couple of questions about twisted.web server's memory management:
...
If a code snippet that reproduces the above would help, I'd be happy to produce one.
__________________________________ Do you Yahoo!? Yahoo! Small Business - Try our new resources site! http://smallbusiness.yahoo.com/resources/
participants (1)
-
Lenny G Arbage