1、合理設定worker_processes、worker_cpu_affinity、worker_connections、multi_accept
#設定工作程序數量,一般分配cpu總核心數或總核心數的兩倍;也可以使用「auto」,表示自動分配,一般分配為等於cpu核心數。
worker_processes 4;
#將cpu核心與nginx工作程序繫結,防止工作程序在不同的cpu核心上飄動。可以減少cpu對程序的資源分配與**和記憶體管理等。提公升nginx的效能。
#八核cpu可以使用八位的二進位制位表示,如果是四核心也可以用四位,如:worker_cpu_affinity 0001 0010 0100 1000;
#也可以直接使用auto,如:worker_cpu_affinity auto;
worker_cpu_affinity 00000001 00000010 00000100 00001000;
events
2、開啟sendfile
sendfile on; #啟用檔案傳輸,如果是作為web伺服器使用,可以開啟此選項,提公升靜態資源的傳輸速度
3、開啟直接direct i/o
#direct i/o;一般結合sendfile使用,任何大於4m的檔案都將以direct i/o的形式直接從硬碟讀取,小於4m的使用sendfile讀取;預設關閉
directio 4m;
4、啟用非同步io
aio on; #啟用非同步io,需要編譯時開啟配置;
5、設定keepalive_timeout、keepalive_request
#設定長連線的保持時間,如果不設定,預設乙個請求一次鏈結(tcp三次握手,四次揮手)
#如果想在瀏覽器看到效果:keepalive_timeout 60 60;
keepalive_timeout 60;
#一次長連線中允許的最大請求次數,預設為100次,如果乙個頁面中所需的請求次數過高,可以調高一點
keepalive_request 100;
6、啟用壓縮:gzip
#gzip壓縮配置
gzip on; #開啟gzip,off關閉
gzip_disable "msie [1-6]\."; #ie 1-6不壓縮
gzip_min_length 1000; #小於1000位元組的不壓縮
gzip_comp_level 3; #壓縮級別,低到高1-9;建議3,不要超過5。降低頻寬,消耗cpu。
7、開啟快取
#開啟檔案快取
open_file_cache max=10000 inactive=60s; ##最大快取10000個檔案,非活動資料超時時長60s
open_file_cache_min_uses 5;#60秒內至少被命中五次才被標記為活動資料
open_file_cache_valid 60s;#每隔60秒檢查一次快取資料的有效性
open_file_cache_errors on;#快取錯誤資訊
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...