nginx優點
1.io多路復用epoll
io多路復用:多個描述符的i/o操作都能在乙個執行緒內併發交替地順序完成,這裡的"復用" 指的是復用同乙個執行緒
epoll
io多路復用的實現方式 select,poll,epoll
select缺點
1)能夠監視檔案描述符的數量存在最大限制 (1024)
2)線性掃瞄效率低下
epoll模型
2.6核心之後
每當fd就緒,採用系統的**函式直接將fd放入,效率更高
無最大連線數的限制
2.輕量級
功能模組少
**模組化
3.cpu親和(affinity)
為什麼需要cpu親和
cpu親和是一種把cpu核心和nginx工作程序繫結方式,把每個worker程序固定在乙個cpu上執行,減少切換cpu的cahce miss(cpu快取記憶體),獲得更好的效能
4.nginx的sendfile
傳統的server服務
使用nginx sendfile on
請求乙個檔案要經過作業系統的核心空間->使用者空間最終到達socket,socket再response給使用者
linux2.2以後的零拷貝
只通過核心空間到socket,不通過使用者空間的複雜邏輯運算
http協議版本
連線關係
1.0tcp不能復用
1.1順序性tcp
復用2.0
多路復用tcp
復用
NGINX原理 之 CPU繫結 CPU親和性
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!部落格 日期 2014.06.12 18 44 非統一記憶體訪問 numa 是一種用於多處理器的電腦記憶體設計,記憶體訪問時間取決於處理器的記憶體位置。在numa下,處理器訪問它自己的本地儲存器的速度比非本地儲存器 儲存器的地方到另乙個處理器之間共...
UIO,大頁記憶體,CPU親和性,NUMA機制等
uio 使用者空間下驅動程式的支援機制。dpdk使用uio機制使網絡卡驅動程式執行在使用者態,並採用輪詢和零拷貝方式從網絡卡收取報文,提高收發報文的效能。linux系統中一般的驅動裝置都是執行在核心空間,而在使用者空間用應用程式呼叫即可,而uio則是將驅動的很少一部分執行在核心空間,而在使用者空間實...
Nginx負載均衡 OSI網路模型
在講到nginx負載均衡的時候,其實nginx是七層負載均衡,後續我們還會涉及到lvs,是四層負載均衡,七層和四層是什麼概念呢?這就必須提到網路模型。網路模型是計算機網路基礎的一部分內容,一般大學計算機系都會講到此知識點,並且會作為考點 其實在面試過程中有時候也會被問到。所以我們還是有必要來複習或學...