Nginx大规模并发原理
Nginx在主流硬件上的并發(fā)數(shù)為十萬,網(wǎng)絡(luò)處理方面的領(lǐng)先地位,歸功于突破性的事件驅(qū)動(dòng)架構(gòu)。
Nginx在每顆內(nèi)核上創(chuàng)建一個(gè)工作進(jìn)程,有效利用硬件資源。
在單個(gè)工作進(jìn)程中交替處理多個(gè)連接,應(yīng)對突如其來的網(wǎng)絡(luò)流量。
Nginx資源管理
Nginx使用狀態(tài)機(jī)管理流量。
非阻塞事件驅(qū)動(dòng)架構(gòu),能同時(shí)調(diào)度多個(gè)狀態(tài)機(jī),支持不停機(jī)升級(jí)。
NGINX進(jìn)程模型
主進(jìn)程
Nginx有一個(gè)主進(jìn)程,用于執(zhí)行特權(quán)操作,如讀取配置和綁定端口。
工作進(jìn)程
多個(gè)工作進(jìn)程和輔助進(jìn)程。
在四核服務(wù)器上,nginx主進(jìn)程會(huì)創(chuàng)建四個(gè)工作進(jìn)程,及若干緩存輔助進(jìn)程,管理磁盤上的內(nèi)容緩存。
任何unix應(yīng)用程序的基礎(chǔ)都是線程/進(jìn)程,linux上線程和進(jìn)程大致相同,區(qū)別在于共享內(nèi)存的程度。
線程/進(jìn)程是一組獨(dú)立指令,操作系統(tǒng)可用一顆cpu內(nèi)核運(yùn)行它。
大多復(fù)雜的應(yīng)用程序,并行執(zhí)行多個(gè)線程/進(jìn)程有兩個(gè)原因:
1、充分利用多核計(jì)算,讓并行執(zhí)行操作變?nèi)菀住?/p>
2、充分利用多顆cpu內(nèi)核進(jìn)行計(jì)算,實(shí)現(xiàn)并行操作。
進(jìn)程/線程對資源的消耗
不管線程還是進(jìn)
總結(jié)
以上是生活随笔為你收集整理的Nginx大规模并发原理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 浅议柔性数组
- 下一篇: 如何使用Nginx来实现企业微信域名校验