1、worker_processes:通常配置成cpu的總核數,或者其2倍,效能會更好。這可以
減少程序間切換帶來的消耗。
還可以同時使用worker_cpu_affinity來繫結cpu,使得每個worker程序獨享乙個
實現完全的併發,效能更好,不過這個只對linux系統有效。
2、events:裡面的事件模型,linux推薦使用epoll模型,freebsd推薦採用kqueue
3、worker_rlimit_nofile:描述乙個nginx程序開啟的最多的檔案數目。配置成跟
linux核心下檔案開啟數一致就可以了。可以通過ulimit -n 來檢視,新裝的系
統預設是1024,centos中可以如下方式進行修改:
在/etc/security/limits.conf最後增加:
* soft nofile 65535
* hard nofile 65535
* soft nproc 65535
* hard nproc 65535
4、worker_connections:每個程序允許的最多連線數,預設是1024,可以設定大一些。
理論上併發總數是worker_processes和worker_connections的乘積,
5、worker_connections值的設定跟物理記憶體大小有關,因為系統可以開啟的最大檔案數和內
存大小成正比,一般1gb記憶體的機器上可以開啟的檔案數大約是10萬左右,所以,
worker_connections 的值需根據 worker_processes 程序數目和系統可以開啟的最大檔案
總數進行適當地進行設定。
6、keepalive_timeout:設定到65左右就可以
7、client_header_buffer_size:設定請求的快取,設定為4k,通常為系統分頁大小的整數
倍,可以通過getconf pagesize 來檢視系統分頁大小。
8、對開啟檔案設定快取
open_file_cache max=建議設定成和每個程序開啟的最大檔案數一致 inactive=60s;
open_file_cache_valid 90s;
open_file_cache_min_uses 2;
open_file_cache_errors on;
9、盡量開啟gzip壓縮,gzip_comp_level通常設定成3-5,高了浪費cpu
10、error日誌優化:執行期間設定為crit,可以減少i/o
11、access日誌優化:如果使用了其他統計軟體,可以關閉日誌,來減少磁碟寫,或者寫入內
存檔案,提高i/o效率。
12、sendfile指令指定 nginx 是否呼叫 sendfile 函式(zero copy 方式)來輸出檔案,通常
13、buffers size優化:如果buffer size太小就會到導致nginx使用臨時檔案儲存response,
這會引起磁碟讀寫io,流量越大問題越明顯。
14、client_body_buffer_size處理客戶端請求體buffer大小。用來處理post提交數
據,上傳檔案等。client_body_buffer_size 需要足夠大以容納需要上傳的post資料。同
理還有後端的buffer資料。
15、worker_priority程序優先順序設定:linux系統中,優先順序高的程序會占用更多的系統資
源,這裡配置的是程序的靜態優先順序,取值範圍-20到+19,-20級別最高。因此可以把這個
值設定小一點,但不建議比核心程序的值低(通常為-5)
16、 合理設定靜態資源的瀏覽器快取時間,盡量用瀏覽器快取
17、負載均衡鎖accept_mutex,建議開啟,預設就是開啟的
18、如果使用ssl的話,而且伺服器上有ssl硬體加速裝置的話,請開啟硬體加速
Nginx效能優化
在http裡面新增一行 server tokens off 預設可以設定為cpu的核數相等,併發比較大的時候,可以設定為cpu核數 2 worker cpu affinity 0001 0010 0100 1000 四核worker cpu affinity 00000001 00000010 00...
nginx效能優化
1 執行緒池 預設情況下,nginx的work process按照順序乙個個處理http請求,因此如果後台處理時間較長,則work process會長時間等待io狀態,因此限制併發性。如下所示 所以,對於可能存在的這類http請求,一般會啟用執行緒池。預設情況下,執行緒池特性並不啟用,需要在編譯時增...
Nginx效能優化
簡介 在大多數情況下,乙個常規安裝的nginx對 來說已經能很好地工作了。然而如果想擠壓出nginx的效能,就需要了解哪些指令會影響nginx效能,在本文中將解釋nginx的哪些設定可以微調。需要注意一點,這是乙個簡單的預覽 那些可以通過微調來提高效能設定的概述,不同的環境可能情況不太一樣。對於ng...