uWSGI工作人员免费,但请求'处理有显着延迟

时间:2016-03-22 22:27:32

标签: uwsgi web-worker

我想在nginx后面的uWSGI下运行Django app。我已经启动了2名uwsgi工作人员,但我注意到下一个悲伤的情况:当一名工人忙碌时,另一名工人只有在等待10-15秒后才开始处理请求。

配置非常简单。

uWSGI:

uwsgi --socket 127.0.0.1:3031 --wsgi-file wsgi.py --master --processes 2 --threads 1

nginx的:

server {
    listen 8000;
    server_name example.org;

    location / {
        include uwsgi_params;
        uwsgi_pass 127.0.0.1:3031;
    }
}

和/etc/nginx/nginx.conf - 默认值

测试Django视图:

def test(request):
    print('Start!!!')
    time.sleep(9999)
    print('End')
    return HttpResponse()

并且wsgi.py具有默认的Django值。

因此,当我一起启动所有这些并发送2个GET请求时,我在控制台中只看到一个“开始!!!”并且仅在10-15秒之后出现第二个“开始!!!”。

我有没有nginx的同样奇怪的行为(使用uwsgi --http);每个工人有多个线程;没有“--master”uwsgi选项;没有django app;在Nginx负载均衡器后面有几个uwsgi实例。

其他信息:

uwsgi版本:2.0.12

nginx版本:1.4.6

主机操作系统:Ubuntu 14.04

Python版本:3.4

Django:1.9

CPU:4核

0 个答案:

没有答案