[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