Nginx(二)特性

Nginx是一款輕量級的HTTP服務器,採用事件驅動的異步非阻塞處理方式框架,這讓其具有極好的IO性能,時常用於服務端的反向代理和負載均衡。

Nginx的優點

支持海量高併發:採用IO多路複用epoll。官方測試Nginx能夠支持5萬併發鏈接,實際生產環境中可以支撐2-4萬併發連接數。

內存消耗少:在主流的服務器中Nginx目前是內存消耗最小的了,比如我們用Nginx+PHP,在3萬併發鏈接下,開啓10個Nginx進程消耗150M內存。

免費使用可以商業化:Nginx爲開源軟件,採用的是2-clause BSD-like協議,可以免費使用,並且可以用於商業。

配置文件簡單:網絡和程序配置通俗易懂,即使非專業運維也能看懂。

一、IO多路複用epoll

IO多路複用:多個描述符的I/O操作都能在一個線程內併發交替地順序完成,這就叫I/O多路複用,這裏的“複用”指的是複用同一個線程。

IO多路複用的實現方式有:select、poll、epoll

select:

缺點:

1)能夠監視文件描述符的數量存在最大限制

2)線性描述效率低下

epoll:

1)每當FD就緒,採用系統的回調函數之間將FD放入,效率更高。

2)最大連接無限制

二、輕量級

三、CPU親和

是一種把CPU核心和Nginx工作進程綁定方式,把每個worker進程固定在一個cpu上執行,減少切換cpu的cache miss,獲得更好的性能。

四、sendfile


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章