| 我正在运行一个数据库支持的网站,只能获得很少的流量.但是,一天或两天,请求将超时,我会在Nginx的error.log中看到这个(或类似的)错误: 2013/06/13 18:32:40 [error] 16723#0: *27796 upstream timed out (110: Connection timed out)
while reading response header from upstream,client: 199.71.215.214,server:
app.mypythonwebapp.com,request: "POST /api?submit_staker_response HTTP/1.1",upstream:
"uwsgi://unix:/var/run/uwsgi/app.mypythonwebapp.com-uwsgi.sock",host:
"app.mypythonwebapp.com",referrer:
"https://app.mypythonwebapp.com/survey/5/791/70ea73eb9a489f2dead804a95c400ab2"
 我正在运行uWSGI,并且在其日志文件中根本没有任何相关内容(我可以告诉).我怀疑它可能与PostgreSQL有关,但如果我通过pg_stat_activity检查它的状态,我看不出任何异常. 这是我的uWSGI YAML配置文件: uwsgi:
    socket: /var/run/uwsgi/%n-uwsgi.sock
    workers: 5
    buffer-size: 32768
    callable: app
    wsgi-file: /opt/sites/app.mypythonwebapp.com/run.py
    virtualenv: /opt/virtualenv/app.mypythonwebapp.com
    pythonpath: /opt/sites/app.mypythonwebapp.com
 我所在的服务器有两个(虚拟化)核心,所以我做了1个核心* 2来确定工作人员的数量.我还提高了buffer-size参数以尝试解决此问题,但错误仍然存在. 我不知道从哪里开始调试这个.我没有运行uWSGI(或任何Python WSGI实现)的经验.最佳答案
触发超时的选项(在nginx中)是 http://wiki.nginx.org/HttpUwsgiModule#uwsgi_read_timeout 它的默认值是60秒,所以如果你请求不生成输出那个时间片nginx会关闭连接. 如果你没有看到uWSGI中的错误(我想从“断开的管道”中假设nginx断开连接的部分),我会调查为什么生成这么慢 (编辑:十堰站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |