Hi, I'm investigating using uwsgi to run Python code in the FrameworkBenchmarks project <http://www.techempower.com/benchmarks/> which compares web frameworks, languages, platforms, web servers and more. I tried running another contributor's uwsgi command line, but I can't get uwsgi to fully saturate all CPU cores when under load.
uwsgi command line: --master -L --http :8080 --http-keepalive -p 2 -w hello --add-header > "Connection: keep-alive" The system is an Ubuntu virtual machine with 2 cores. The WSGI app is a tiny Hello World-style app<https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/uwsgi/hello.py>. The load generator is wrk <https://github.com/wg/wrk>with the following command line: wrk -H 'Host: localhost' -H 'Accept: > text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' -H > 'Connection: keep-alive' -d 15 -c 256 -t 8 http://<ip-address>:8080/json I'm able to saturate all cores with gunicorn+meinheld. I'm pretty sure that I can saturate all cores with the nginx+uwsgi combination (using the nginx uwsgi module) as well. So basically, on my system, nginx+uwsgi and gunicorn+meinheld are faster than uwsgi standalone, which can't seem to fully saturate all the cores. I think if I could get it to saturate all the cores, it would be competitive with the other combinations. I'd appreciate any suggestions or ideas. Maybe we're going about things the wrong way? Or we just need a small tweak? Thanks.
_______________________________________________ uWSGI mailing list [email protected] http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi
