nginx效能優化

2021-10-11 18:59:45 字數 1706 閱讀 1328

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...