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

Reply via email to