使用nginx,uwsgi,django,pgpool,postgresql请求太慢

时间:2012-07-18 16:10:49

标签: django nginx uwsgi

我已经部署了一项服务 它由nginx,uwsgi,django,pgpool,postgresql stack提供。

没有数据库访问权限的页面没问题 但是,从postgres获取一些数据的页面速度很慢。

实际上,db查询时间非常快。不到10毫秒。

但客户的结果超过120000毫秒

  • uwsgi log

    [pid:2056 | app:0 | req:4/10] 211.207.245.120(){44 vars in 1116 bytes} [Thu Jul 19 00:53:31 2012] GET / account / admin / cb_main / invitationuser / =>在122126 msecs(HTTP / 1.1 200)中生成38606个字节,在373个字节中生成8个标头(核心0上有1个交换机)

我的设置如下 请检查我的设置并解决我的问题

  • nginx设置

    upstream cuying {
            ip_hash;
            server 127.0.0.1:9001;
    }
    
    server {
            listen  8080;
            root    /home/cuying_mgr/;
            client_max_body_size 20M;
            server_name     cuying.com;
            location / {
                    uwsgi_pass cuying;
                    include uwsgi_params;
                    uwsgi_read_timeout 120;
                    uwsgi_send_timeout 120;
            }
    }
    
  • uwsgi设置

    chdir=/home/cuying_mgr/develop/virenv/cuying/cuying
    processes=2
    workers=8
    enable-threads=true
    socket=127.0.0.1:9001
    module=cuyingProject.wsgi:application
    master=True
    pidfile=/tmp/cuying-master.pid
    vacuum=True
    close-on-exec=True
    max-requests=3000
    post-buffering=8192
    socket-timeout=120
    limit-post=20480000
    virtualenv=/home/cuying_mgr/develop/virenv/cuying
    daemonize=/var/log/uwsgi/cuying.log
    

请帮帮我! 这太慢了.....

1 个答案:

答案 0 :(得分:0)

使用profiler查找处理请求时的最慢点。看起来这个问题不是由postgresqluwsgi事件造成的。

请参阅ProfilingDjango wiki page