2016-04-14 8:17 GMT-03:00 Riccardo Magliocchetti <[email protected]>: > Hello, > > Il 14/04/2016 13:04, Daniel Nicoletti ha scritto: >> >> Hi, >> >> yesterday I was doing an experiment to see how fast would it be to uwsgi >> spawn 1000 workers with my app loaded, it took ~2s but 1.5GB of RAM, >> then instead of 1000 process I started 1 process and 1000 threads, namely >> my plugin will instantiate 1000 QThreads, and memory usage was 300MB >> now I got surprised of this, so I wrote an application that would load my >> app like uwsgi and fork 1000, granted this app doesn't have any protocols >> handling, and forking 1000 used 300MB as using threads did. >> >> uwsgi process here is of 800KB of size and my test app was of 100KB, >> which is aproximately the difference. > > > Is less than a MB per process really that much? Sorry that was a typo, the uwsgi *file* has 800KB, each process takes ~1.5MB, so comparing 300MB to 1.5GB is around 1.2GB of memory that could be free to other stuff. Yes it's unlikely that I'll spawn 1000 workers for a single app but 100 apps with 10 workers would result in the same.
> >> Now I wonder why is uwsgi so big? Can it's protocols be split in plugins >> loaded at runtime to reduce this? It even seemed that share libraries > > > Unless you embed plugins that's they way things currently are > >> didn't add up to free due shared nature, maybe it would be useful if >> uwsgi had a shared library, to possibily share among process. Or even >> is there something different about how uwsgi forks()? maybe explicity >> sharing less if that's even possible? > > > As in any software of course things could be improved :) sure, I'm trying to understand what could be improved in this case >> Note that I dunno which build options Debian used to uwsgi, maybe it's >> possible to compile with reduced size or maybe it would just be better if >> it had it's code split into plugins. > > > Most of the stuff is already splitted in plugins :) Even protocols are loaded at runtime? > > > -- > Riccardo Magliocchetti > @rmistaken > > http://menodizero.it > _______________________________________________ > uWSGI mailing list > [email protected] > http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi -- Daniel Nicoletti KDE Developer - http://dantti.wordpress.com _______________________________________________ uWSGI mailing list [email protected] http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi
