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;
    }



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