Nginx效能優化

2021-08-05 21:51:47 字數 2330 閱讀 6025

在http裡面新增一行:server_tokens off;
預設可以設定為cpu的核數相等,併發比較大的時候,可以設定為cpu核數*2

worker_cpu_affinity 0001

0010

0100

1000

#四核worker_cpu_affinity 00000001

00000010

00000100

00001000

00010000

00100000

01000000

10000000

#八核心

nginx的連線處理機制在不同的作業系統會採用不同的i/o模型,在linux下,nginx使用epoll的i/o多路復用模型,在freebsd中使用kqueue的i/o多路復用模型,在solaris中使用/dev/poll方式的i/o多路復用模型,在windows中使用的是icop,等等。

要根據系統型別選擇不同的事件處理模型,可供使用的選擇有「use[kqueue|rtsig|epoll|/dev/poll|select|poll];」

events

worker_connects = 1024

總共處理能力 =worker_processes * worker_connects
開啟sendfile
http
client_header_timeout

用於設定客戶端連線保持會話的超時時間為60秒。超過這個時間,伺服器會關閉該連線,此數值為參考值。

設定引數:tcp_nodelay on;

用於啟用tcp_nodelay功能,提高i/o效能。

引數作用:預設情況下當資料傳送時,核心並不會馬上傳送,可能會等待更多的位元組組成乙個資料報,這樣可以提高i/o效能。但是,在每次只傳送很少位元組的業務場景中,使用tcp_nodelay功能,等待時間會比較長。

client_body_timeout 15;

用於設定讀取客戶端請求主體的超時時間,預設值是60。

引數作用:設定讀取客戶端請求主體的超時時間。這個超時僅僅為兩次成功的讀取操作之間的乙個超時,非請求整個主體資料的超時時間,如果在這個超時時間內,客戶端沒有傳送任何資料,nginx將返回「request time out(408)」錯誤,預設值是60

send_timeout 25;

用於指定響應客戶端的超時時間。這個超時僅限於兩個連線活動之間的時間,如果超過這個時間,客戶端沒有任何活動,nginx將會關閉連線,預設值為60秒,可以改為參考值25秒。

client_max_body_size 8m

引數作用:設定最大的允許的客戶端請求主體大小,在請求頭域有「content-length」,如果超過了此配置值,客戶端會收到413錯誤,意思是請求的條目過大,有可能瀏覽器不能正確顯示。設定為0表示禁止檢查客戶端請求主體大小。此引數對提高伺服器端的安全性有一定的作用。

gzip on

gzip_buffers 4

16k #壓縮緩衝區大小。表示申請 4 個單位為 16k 的記憶體作為壓縮結果流快取,預設值是申請與原始資料大小相同的記憶體空間來儲存

#壓縮版本(預設 1.1 ,前端為 squid2.5 時使用 1.0 )

gzip_comp_level 2; #壓縮比率。用來指定 gzip 壓縮比, 1 壓縮比最小,處理速度最快;

gzip_vary on

#支援。該選項可以讓前端的快取伺服器快取經過 gzip 壓縮的頁面

1. nginx gzip壓縮功能介紹

nginxgzip壓縮模組提供了壓縮檔案內容的功能,使用者請求的內容在傳送到使用者客戶端之前,nginx伺服器會根據一些具體的策略實施壓縮,以節約**出口頻寬,同時加快資料傳輸效率,來提公升使用者訪問體驗。

2. nginx gzip壓縮的優點

此功能既能提公升使用者體驗,又能使公司少花錢,一舉多得。對於幾乎所有的web服務來說,這是乙個非常重要的功能,apache服務也有此功能。

3. 需要和不需要壓縮的物件

純文字內容壓縮比很高,因此,純文字的內容最好進行壓縮,例如:html、js、css、xml、shtml等格式的檔案。

被壓縮的純文字檔案必須要大於1kb,由於壓縮演算法的特殊原因,極小的檔案壓縮後可能反而變大。

4. 引數介紹及配置說明

此壓縮功能與早期apache服務的mod_deflate壓縮功能很相似,nginx的gzip壓縮功能依賴於ngx_http_gzip_module模組,預設已安裝。

單元測試的方法。

nginx效能優化

1 執行緒池 預設情況下,nginx的work process按照順序乙個個處理http請求,因此如果後台處理時間較長,則work process會長時間等待io狀態,因此限制併發性。如下所示 所以,對於可能存在的這類http請求,一般會啟用執行緒池。預設情況下,執行緒池特性並不啟用,需要在編譯時增...

Nginx效能優化

簡介 在大多數情況下,乙個常規安裝的nginx對 來說已經能很好地工作了。然而如果想擠壓出nginx的效能,就需要了解哪些指令會影響nginx效能,在本文中將解釋nginx的哪些設定可以微調。需要注意一點,這是乙個簡單的預覽 那些可以通過微調來提高效能設定的概述,不同的環境可能情況不太一樣。對於ng...

Nginx 效能優化

如何有效使用cpu worker processes number auto為什麼乙個cpu就可以同時執行多個程序?cup巨集觀上並行,微觀上序列 阻塞api引發的時間片內主動讓出cup 業務場景產生的阻塞api 對於cpu的優化的點 盡可能的減少程序間的切換 減少主動切換 減少被動切換 鎖定cpu...