nginx 網路模型,cpu親和等優點

2022-01-31 01:45:29 字數 1157 閱讀 7246

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,是四層負載均衡,七層和四層是什麼概念呢?這就必須提到網路模型。網路模型是計算機網路基礎的一部分內容,一般大學計算機系都會講到此知識點,並且會作為考點 其實在面試過程中有時候也會被問到。所以我們還是有必要來複習或學...