Hi, i ran into strange issue.

My server have a 590MB of RAM.
Until today i had about 800 request per hour for Django app and uWSGI works
very well with it, but as a result of massive advertising i manage to get
about 10 000 requests per hour. So, i was forced to increase number of
requests that uWSGI can handle. Before applying new config file, i make
some performance test and i was suprised that increase threads number from
one, as is was so far, to 10 blows out my server.

Until now uWSGI runs with 10 workers and one thread, with 512 listen queue.
With 10 workers and 10 threads, uWSGI eats all of my RAM and constantly
respawn workers.

I make some simple test with default wsgi app and there's a result:

uWSGI --workers 10 --threads 1 used about 38MB RAM
uWSGI --workers 1 --threads 10 used about 79MB RAM
uWSGI --workers 10 --threads 10 used hmm. All of it.
uWSGI --workers 100 --threads 1 used about 350MB.
uWSGI --workers 1 --threads 100 again eats all of my RAM.

I understood, 10 threads with one worker uses 79MB of RAM, and with 10
threads it's should use about a 800MB, but in preforking mode i was able to
run a 100 workers and it takes only a 350MB.


It is a bug or not? Why uWSGI with 10 threads used almost a double of RAM
than with 10 workers, with the same app and configuration, when threads
should be a more memory-efficient?

There's a screenshots from htop and console running uWSGI (don't blame me
for using Windows, different memory manage etc. :)

uWSGI --workers 100 --threads 1: http://i.minus.com/iRY7Ynupo1RiC.png
uWSGI --workers 1 --threads 100: http://i.minus.com/ib2u1C1EJAXI9S.png

uWSGI --workers 10 --threads 10 (here was worse than with 100 threads,
memory usage was jumped from 40 to 100%, CPU was fully utilized, and i
barely managed to kill uWSGI with Ctrl+C):
http://i.minus.com/ibrlHVjC64tG9N.png
And after kill: http://i.minus.com/iYbDACS6nfDMP.png
_______________________________________________
uWSGI mailing list
[email protected]
http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi

Reply via email to