1.master和worker
nginx啟動後,會有2種程序:worker和master;worker可能有多個;
master程序負責管理分配任務,worker程序負責實際工作;
worker工作機制:
當客戶端傳送乙個請求後,master接收請求,然後後分配給worker;
分配的機制為爭搶;worker搶到任務後將利用反向**請求tomcat;
乙個master和多個worker的好處:
1】可以使用 nginx –s reload 熱部署,利用 nginx 進行熱部署操作
線上部署的伺服器一般不會停止,如果停止可能會造成問題;
有多個worker,worker1搶到了任務,此時伺服器使用 nginx –s reload重載入;
此時又來了乙個新的請求,worker1因為有任務而不會再參與爭搶;
2】每個 woker 是獨立的程序,如果有其中的乙個 woker 出現問題,其他 woker 獨立的,
繼續進行爭搶,實現請求過程,不會造成服務中斷
設定多少個worker合適:
nginx 同 redis 類似都採用了 io 多路復用機制;
每個 worker 都是乙個獨立的程序,
但每個程序裡只有乙個主線程,通過非同步非阻塞的方式來處理請求, 即使是千上萬個請求也不在話下。
每個 worker 的執行緒可以把乙個 cpu 的效能發揮到極致。
所以 worker 數和伺服器的 cpu數相等是最為適宜的。
設少了會浪費 cpu,設多了會造成 cpu 頻繁切換上下文帶來的損耗。
nginx和redis通常都是裝在linux系統中的,也可以裝載windows系統中;
但裝載windows系統中時就沒有io多路復用機制;
也就是說,nginx在windows中功能雖然有,但並不能把它的效能發揮到最大;
設定worker數量:
worker_processes 4
#work 繫結 cpu(4 work 繫結 4cpu)。
worker_cpu_affinity 0001 0010 0100 1000
#work 繫結 cpu (4 work 繫結 8cpu 中的 4 個) 。
worker_cpu_affinity 0000001 00000010 00000100 00001000
worker連線數worker_connection:
這個值是表示每個 worker 程序所能建立連線的最大值,
所以,乙個 nginx 能建立的最大連線數,應該是 worker_connections * worker_processes。
當然,這裡說的是最大連線數,對於http 請 求 本 地 資 源 來 說 , 能 夠 支 持 的 最 大 並 發 數 量 是 worker_connections *worker_processes,
如果是支援 http1.1 的瀏覽器每次訪問要佔兩個連線,
所以普通的靜態訪問最大併發數是: worker_connections * worker_processes /2,
而如果是 http 作 為反向**來說,最大併發數量應該是 worker_connections *worker_processes/4。
因為作為反向**伺服器,每個併發會建立與客戶端的連線和與後端服務的連線,會占用兩個連線。
第乙個:傳送請求,占用了 woker 的幾個連線數?
答案: 2 或者 4 個;
如果是請求靜態資源,需要worker連線客戶端要2個連線數;
如果是反向**,worker需要諒解客戶端2個連線數,加上worker和tomcat的兩個連線數;
第二個: nginx 有乙個 master,有四個 woker,每個 woker 支援最大的連線數 1024,支援的
最大併發數是多少?
普通的靜態訪問最大併發數是: worker_connections * worker_processes /2,
而如果是 http 作 為反向**來說,最大併發數量應該是 worker_connections *
worker_processes/4。
Oracle工作大概流程
以下例子大體上描述了oracle進行更新 update 時操作的主要步驟。在例子所描繪的oracle配置中,使用者和相關的服務程序處在不同的計算機 中,通過網路連線。在執行oracle的計算機上啟動乙個例項 這台計算機也被稱為主機 host 或資料庫伺服器 database server 執行應用程...
Nginx 與 FPM 的工作機制
fpm 是乙個 php 程序管理器,包含 master 程序和 worker 程序兩種程序 master 程序只有乙個,負責監聽埠,接收來自 web server 的請求,而 worker 程序則一般有多個 具體數量根據實際需要配置 每個程序內部都嵌入了乙個 php 直譯器,是 php 真正執行的地...
Nginx 與 FPM 的工作機制
要說 nginx 與 php 是如何協同工作的,首先得說 cgi common gateway inte ce 和 fastcgi 這兩個協議。cgi 是 web server 與後台語言互動的協議,有了這個協議,開發者可以使用任何語言處理 web server 發來的請求,動態的生成內容。但 cg...