首頁 >運維 >Nginx >nginx是如何實現高效能的

nginx是如何實現高效能的

王林
王林轉載
2020-06-08 17:31:503737瀏覽

nginx是如何實現高效能的

nginx是如何實現高效能的?

1、事件驅動模型

基於非同步及非阻塞的事件驅動模型,可以說是Nginx 得以獲得高並發、高效能的關鍵因素。這一點上和 Netty 類似,底層都是使用的 BSD kqueue、Linux epoll 和 Solaris event ports。

2、多進程機制

使用多進程的好處有兩點:

(1)進程之間不共享資源,不需要加鎖,減少了使用鎖對效能造成的影響,同時降低程式設計的複雜度,降低開發成本。

(2)採用獨立的進程,可以讓進程互相之間不會影響,如果一個進程發生異常退出時,其它進程正常工作,master 進程則很快啟動新的worker 進程,確保服務不會中斷,從而將風險降到最低。

3、記憶體池

為了避免記憶體碎片,減少向作業系統申請記憶體的次數、降低各個模組的開發複雜度,Nginx 設計了簡單的記憶體池,它的作用主要是把多次向系統申請記憶體的操作整合成一次,這大大減少了CPU 資源的消耗,同時減少了記憶體碎片。

4、模組化設計

高度模組化的設計是 Nginx 的架構基礎。 Openresty 就是在 Nginx 上引入了 lua 等第三方模組,讓擴充功能更加方便了。

nginx是如何實現高效能的

推薦教學:nginx使用教學

#

以上是nginx是如何實現高效能的的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除