[Python-de] Hat Tornado mit Pypy ein Speicherleck?

Stefan Scholl stesch at no-spoon.de
Mi Aug 24 09:26:08 CEST 2011


Thomas Guettler <hv at tbz-pariv.de> wrote:
> Am 24.08.2011 08:40, schrieb Stefan Scholl:
>> Aktuelles Tornado 2.0 mit PyPy 1.6 habe ich mit dem
>> Hello-Programm von der Tornado-Website getestet. ApacheBench auf
>> 127.0.0.1 mit sehr vielen Zugriffen.
>> 
>> Speicherverbrauch (RES bei top) stieg andauernd an. Kein Ende in
>> Sicht.
>> 
> 
> Tritt das Problem auch auf, wenn du den Garbage Collector explizit aufrufst?
> 
> Siehe http://docs.python.org/library/gc.html

[Problem tritt weiterhin auf. Auch mit GC.]

Um den Zeitpunkt für den Test zu kontrollieren habe ich das
Beispiel von http://www.tornadoweb.org/ um einen Handler
erweitert, der mit "/gc" aufgerufen wird:

class GCHandler(tornado.web.RequestHandler):
    def get(self):
        gc.collect()
        self.write("GC")


Start RES: 24m

ab -n 10000 -c 10 http://127.0.0.1:8888/
==> 51m
ab -n 10000 -c 10 http://127.0.0.1:8888/
==> 57m
...
==> 63m
ab -n 100000 -c 10 http://127.0.0.1:8888/
==> 73m
ab -n 100000 -c 100 http://127.0.0.1:8888/
==> 88m

So, jetzt GC anwerfen.

$ curl http://127.0.0.1:8888/gc
GC
==> 88m

Keine Änderung.

ab -n 100000 -c 100 http://127.0.0.1:8888/
==> 97m




Mehr Informationen über die Mailingliste python-de