天天看點

初識 Nginx中間件

Nginx介紹

Nginx是一個http伺服器,中間件

1、Nginx相對于Apach來說具有以下優點:

1)反向代理能力非常強(可用于負載均衡)

2)高并發性能非常好,官方Nginx處理靜态檔案并發5w/s

3)記憶體和cpu占用量低

關于負載均衡的了解

這裡首先我們要介紹一下叢集的概念叢集就是同一個業務部署在多個伺服器上面。

我們重點伺服器的并發量是有限的二tomcat 所支援的并發量隻有500,也就是說當很多人在通路的時候,我們的項目就會面臨崩潰,是以我們使用叢集來解決這個問題,也是說讓多台伺服器來幫忙承受通路量,這個時候就會涉及到負載均衡問題。

初識 Nginx中間件

而nginx就能很輕松去實作負載均衡nginx就能很輕松去實作負載均衡

2、Nginx效率高的原因

1)io多路複用

就是說多條io來處理同一個線程,當一個io被阻塞過後,不用繼續等待,繼續執行下一個io等前一個的io的阻塞完畢過後就繼續執行。這樣做的好處是既減少了IO等待,也減少了頻繁建立線程浪費的資源。

2)輕量級

源代碼隻保留與http 及核心功能代碼

3)cpu親和

CPU核心和NGINX 工作程序綁定的方式,把每個worker程序固定在一個cpu

上執行,減少切換cpu的cache miss,獲得更好的性能。

4)核心空間0拷貝

直接通過核心空間進行資料的拷貝,sendfile利用了linux在2.2 零拷貝傳遞模式

nginx對靜态檔案的處理能力超強的原因就是因為sendfile使用了核心空間零拷貝資料傳遞模式。(例如靜态資料不需要加工,那麼可以去掉,核心空間到使用者空間那一步)

繼續閱讀