django uwsgi 崩溃 导致502错误 超时导致504错误

1. rest请求数据量过大

最初设置的harakiri超时时间为60, 导致uwsgi崩溃重启,解决办法延长harakiri 的时间,或者注释掉harakiri的配置,看一下请求需要花多长时间


harakiri

这个选项会设置harakiri超时时间(可以看wiki首页的相关内容)。如果一个请求花费的时间超过了这个harakiri超时时间,那么这个请求都会被丢弃,并且当前处理这个请求的工作进程会被回收再利用(即重启)。

--harakiri 60

这个设置会使uwsgi丢弃所有需要60秒才能处理完成的请求。



2. uwsgi请求需要的时间比较长,导致nginx报504 gateway timeout错误


解决办法,修改nginx的配置,延长nginx 到uwsgi请求的read和send的timeout的时间,起作用的是read time out时间的设置


location /api/ {
        uwsgi_pass django;
        include uwsgi_params;
        uwsgi_read_timeout 1800;
        uwsgi_send_timeout 300;
        proxy_read_timeout 300;
    }



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章