一、worker_processes :一般配置成cpu的總核數,或者其2倍,性能會更好。這能夠
減小進程間切換帶來的消耗。還能夠同時使用worker_cpu_affinity來綁定cpu,使得每一個worker進程獨享一個實現徹底的併發,性能更好,不過這個只對linux系統有效。html
二、events:裏面的事件模型,Linux推薦使用epoll模型,FreeBSD推薦採用kqueue
三、worker_rlimit_nofile:描述一個nginx進程打開的最多的文件數目。配置成跟
linux內核下文件打開數一致就能夠了。能夠經過ulimit -n 來查看,新裝的系
統默認是1024,CentOS中能夠以下方式進行修改:
在/etc/security/limits.conf最後增長:
* soft nofile 65535
* hard nofile 65535
* soft nproc 65535
* hard nproc 65535linux
四、worker_connections:每一個進程容許的最多鏈接數,默認是1024,能夠設置大一些。
理論上併發總數是worker_processes和worker_connections的乘積,
五、worker_connections值的設置跟物理內存大小有關,由於系統能夠打開的最大文件數和內
存大小成正比,通常1GB內存的機器上能夠打開的文件數大約是10萬左右,因此,
worker_connections 的值需根據 worker_processes 進程數目和系統能夠打開的最大文件
總數進行適當地進行設置。
六、keepalive_timeout:設置到65左右就能夠
七、client_header_buffer_size:設置請求的緩存,設置爲4k,一般爲系統分頁大小的整數
倍,能夠經過getconf PAGESIZE 來查看系統分頁大小。
八、對打開文件設置緩存
open_file_cache max=建議設置成和每一個進程打開的最大文件數一致 inactive=60s;
open_file_cache_valid 90s;
open_file_cache_min_uses 2;
open_file_cache_errors on;
九、儘可能開啓Gzip壓縮,gzip_comp_level一般設置成3-5,高了浪費CPU
十、Error日誌優化:運行期間設置爲crit,能夠減小I/Onginx
十一、access日誌優化:若是使用了其餘統計軟件,能夠關閉日誌,來減小磁盤寫,或者寫入內
存文件,提升I/O效率。
十二、sendfile指令指定 nginx 是否調用 sendfile 函數(zero copy 方式)來輸出文件,一般
應設置成on,若是是下載等應用磁盤IO重負載應用,可設置爲 off
1三、Buffers size優化:若是buffer size過小就會到致使nginx使用臨時文件存儲response,
這會引發磁盤讀寫IO,流量越大問題越明顯。
1四、client_body_buffer_size 處理客戶端請求體buffer大小。用來處理POST提交數
據,上傳文件等。client_body_buffer_size 須要足夠大以容納須要上傳的POST數據。同
理還有後端的buffer數據。
1五、worker_priority進程優先級設置:Linux系統中,優先級高的進程會佔用更多的系統資
源,這裏配置的是進程的靜態優先級,取值範圍-20到+19,-20級別最高。所以能夠把這個
值設置小一點,但不建議比內核進程的值低(一般爲-5)
1六、 合理設置靜態資源的瀏覽器緩存時間,儘可能用瀏覽器緩存
1七、負載均衡鎖accept_mutex,建議開啓,默認就是開啓的
1八、若是使用SSL的話,並且服務器上有SSL硬件加速設備的話,請開啓硬件加速後端
https://www.cnblogs.com/xiaoliangup/p/9185259.html瀏覽器