Nginx原理解析

2022-08-13 16:03:10 字數 1700 閱讀 3313

1、master和worker

2、worker如何進行工作的

3、乙個master和多個woker的好處

(1) 可以使用nginx -s reload熱部署。

說明:首先,對於每個worker程序來說,獨立的程序,不需要加鎖,所以省掉了鎖帶來的開銷,同時在程式設計以及問題查詢時,也會方便很多。其次,採用獨立的程序,可以讓互相之間不會影響,乙個程序退出後,其它程序還在工作,服務不會中斷,master程序則很快啟動新的worker程序。當然,worker程序的異常退出,肯定是程式有bug了,異常退出,會導致當前worker.上的所有請求失敗,不過不會影響到所有請求,所以降低了風險。

4、設定多少個woker合適

說明:nginx同redis類似都採用了io多路復用機制,每個worker都是乙個獨立的程序, 但每個程序裡只有乙個主線程,通過非同步非阻塞的方式來處理請求,即使是 千上萬個請求也不在話下。每個worker的執行緒可以把乙個cpu的效能發揮到極致。所以worker數和伺服器的cpu數相等是最為適宜的。設少了會浪費cpu,設多了會造成cpu頻繁切換上下文帶來的損耗。

# 設定worker數量

worker.processes 4

# work繫結cpu(4work繫結4cpu)

worker_cpu_affinity 0001 0010 0100 1000

# work繫結cpu (4work繫結8cpu中的4個)

worker_cpu_affinity 0000001 00000010 00000100 00001000

5、連線數worker_ connection說明:這個值是表示每個worker程序所能建立連線的最大值,所以,乙個nginx 能建立的最大連線數,應該是worker.connections * worker processes。當然,這裡說的是最大連線數,對於http 請求本地資源來說,能夠支援的最大併發數量worker.connections * worker processes,如果是支援http1.1的瀏覽器每次訪問要佔兩個連線,所以普通的靜態訪問最大併發數是: worker.connections * worker.processes / 2, 而如果是http作為反向**來說,最大併發數量應該是worker.connections * worker_proceses/4. 因為作為反向**伺服器,每個併發會建立與客戶端的連線和與後端服務的連線,會占用兩個連線.

第乙個: 傳送請求,占用了woker的幾個連線數?

答案: 2或者4個。

第二個: nginx有乙個master,有四個woker,每個woker支援最大的連線數1024,支援的最大併發數是多少?

答案:普通的靜態訪問最大併發數是: worker connections * worker processes /2,而如果是http作為反向**來說,最大併發數量應該是worker connections * worker processes/4

LCD原理解析

硬體體系 3個部分 lcd液晶 屏 lcd驅動晶元 lcd控制器 整合在arm晶元內部 控制器 通過驅動晶元 控制液晶屏 液晶屏種類 stn gf tft tft 在嵌入式中較為常用 lcd控制器結構與模組 由17個可程式設計的暫存器組和一塊 256 16的調色盤內 存組成,通過這些暫存器,可以配置...

session原理解析

首先session跟cookies都是會會話進行跟蹤,session通過在伺服器端記錄資訊來記錄,cookies通過在客戶端記錄資訊來記錄。在此只對session進行分析 session是記錄在伺服器記憶體中的,每當乙個使用者通過瀏覽器第一次進行訪問時進行建立 需要注意只有訪問jsp,servlet...

Kerberos原理解析

kerberos這一名詞 於希臘神話 三個頭的狗 地獄之門守護者 系統設計上採用客戶端 伺服器結構與des加密技術,並且能夠進行相互認證,即客戶端和伺服器端均可對對方進行身份認證。可以用於防止竊聽 防止replay攻擊 保護資料完整性等場合,是一種應用對稱金鑰體制進行金鑰管理的系統。支援sso si...