伺服器超時設定 小程式 和智聚成網路

2021-09-05 01:27:50 字數 882 閱讀 4657

本文介紹nginx出現504 gateway time-out問題的原因,分析問題並提供解決方法。 (主要看2)

1.問題分析

nginx訪問出現504 gateway time-out,一般是由於程式執行時間過長導致響應超時,例如程式需要執行90秒,而nginx最大響應等待時間為30秒,這樣就會出現超時。

通常有以下幾種情況導致

1.程式在處理大量資料,導致等待超時。

2.程式中呼叫外部請求,而外部請求響應超時。

3.連線資料庫失敗而沒有停止,死迴圈重新連。

出現這種情況,我們可以先優化程式,縮短執行時間。另一方面,可以調大nginx超時限制的引數,使程式可以正常執行。

對於訪問超時的設定,nginx與php都有相關的設定,可以逐一進行修改。

2.解決方法

nginx配置

nginx.conf中,設定以下幾個引數,增加超時時間

fastcgi_connect_timeout

fastcgi連線超時時間,預設60秒

fastcgi_send_timeout

nginx 程序向 fastcgi 程序傳送請求過程的超時時間,預設值60秒

fastcgi_read_timeout

fastcgi 程序向 nginx 程序傳送輸出過程的超時時間,預設值60秒

php配置

php.ini

max_execution_time

php指令碼最大執行時間

php-fpm

request_terminate_timeout

設定單個請求的超時時間

php程式中可加入set_time_limit(seconds)設定最長執行時間

例如 set_time_limit(0) 表示不超時。

伺服器超時時間和請求佇列大小設定

伺服器超時時間和請求列表大小關乎程式的健壯性。設定過小,會導致有效的請求被丟掉。設定過大,嚴重的情況下會引起雪崩。很多後台碼農對超時時間的設定都沒什麼概念,特別是剛畢業的後台碼農。一般都是參照前人的 設定乙個相同的超時,而且一般都是比較大的超時,只要程式能跑就沒問題了。後台服務基本上要設定兩個超時,...

linux伺服器後台設定小技巧

1.如何快速安裝遊戲伺服器 發布目錄所有遊戲新增之後,在遊戲發布目錄會生成乙個gamelist.ini,裡面就是記錄這個發布目錄的所有遊戲資訊。如果裝其他遊戲資源伺服器時,直接將這些遊戲按原來結bwyokz構放到乙個發布目錄下,www.cppcns.com然後直接將gamelist.ini放到發布目...

伺服器GPU檢視和設定

nvidia smi 週期性的輸出顯示卡的使用情況 watch n 10 nvidia smi命令列引數 n後邊跟的是執行命令的週期,以s為單位。1.中加入 import os os.environ cuda visible devices 1 注意 伺服器看到的gpu序號和手動在linux上檢視的...