[Linux] Nginx 提供靜態內容和優化積壓隊列
阿新 • • 發佈:2018-12-13
內容 png 規則 oca core max location 重定向 返回
1.try_files指令可用於檢查指定的文件或目錄是否存在; NGINX會進行內部重定向,如果沒有,則返回指定的狀態代碼。例如,要檢查對應於請求URI的文件是否存在,請使用try_files指令和$ uri變量,如下所示: server { root /www/data; location /images/ { try_files $uri /images/default.gif; } } 2.對NGINX配置進行微小優化可以提高生產力並幫助實現最佳性能。啟用sendfile默認情況下,NGINX會自行處理文件傳輸,並在發送之前將文件復制到緩沖區中。啟用sendfile指令消除了將數據復制到緩沖區的步驟,並允許將數據從一個文件描述符直接復制到另一個文件描述符。或者,為了防止一個快速連接完全占用工作進程,可以使用sendfile_max_chunk指令限制單個sendfile()調用中傳輸的數據量(在本例中為1 MB): location/mp3 { sendfile on; sendfile_max_chunk 1m; #... } 3.優化積壓隊列 其中一個重要因素是NGINX可以多快地處理傳入連接。一般規則是在建立連接時,將其放入偵聽套接字的“監聽”隊列中。在正常負載下,隊列很小或根本沒有隊列。但是在高負載下,隊列會急劇增長,導致性能不均勻,連接斷開,延遲增加。顯示偵聽隊列要顯示當前偵聽隊列,請運行以下命令: sudo sysctl -w net.core.somaxconn=4096 server { listen 80 backlog=4096; # ... }
ss -l
[Linux] Nginx 提供靜態內容和優化積壓隊列