1、可以高併發連接 官方測試Nginx能夠支撐5萬併發連接,實際生產環境中可以支撐2~4萬併發連接數。 原因,主要是Nginx使用了最新的epoll(Linux2.6內核)和kqueue(freeBSD)網路I/O模型,而Apache使用的是傳統的Select模型,其比較穩定的Prefork模式為多 ...
1、可以高併發連接
官方測試Nginx能夠支撐5萬併發連接,實際生產環境中可以支撐2~4萬併發連接數。
原因,主要是Nginx使用了最新的epoll(Linux2.6內核)和kqueue(freeBSD)網路I/O模型,而Apache使用的是傳統的Select模型,其比較穩定的Prefork模式為多進程模式,需要經常派生子進程,所以消耗的CPU等伺服器資源,要比Nginx高很多。
2、記憶體消耗少
Nginx+PHP(FastCGI)伺服器,在3萬併發連接下,開啟10個Nginx進程消耗150MB記憶體,15MB*10=150MB,開啟的64個PHP-CGI進程消耗1280記憶體,20MB*64=1280MB,加上系統自身消耗的記憶體,總共消耗不到2GB的記憶體。
如果伺服器的記憶體比較小,完全可以只開啟25個PHP-CGI進程,這樣PHP-CGI消耗的總記憶體數才500MB。
3、成本低廉
購買F5BIG-IP、NetScaler等硬體負載均衡交換機,需要十多萬到幾十萬人民幣,而Nginx為開源軟體,採用的是2-clause BSD-like協議,可以免費試用,並且可用於商業用途。
BSD開源協議是一個給使用者很大自由的協議,協議指出可以自由使用、修改源代碼、也可以將修改後的代碼作為開源或專用軟體再發佈。
4、配置文件非常簡單
網路和程式一樣通俗易懂,即使,非專用系統管理員也能看懂。
5、支持Rewrite重寫
能夠根據功能變數名稱、URL的不同,將http請求分到不同的後端伺服器群組。
6、內置的健康檢查功能
如果NginxProxy後端的某台Web伺服器宕機了,不會影響前端的訪問。
7、節省帶寬
支持GZIP壓縮,可以添加瀏覽器本地緩存的Header頭。
8、穩定性高
用於反向代理,宕機的概率微乎其微。
9、支持熱部署
Nginx支持熱部署,它的自動特別容易,並且,幾乎可以7天*24小時不間斷的運行,即使,運行數個月也不需要重新啟動,還能夠在不間斷服務的情況下,對軟體版本進行升級。
Nginx、Apache、Lighttpd對比
可以看出,Nginx在反向代理、Rewrite規則、穩定性、靜態文件處理,記憶體消耗等方面,有很強的優勢,使用Nginx取代傳統的Apache伺服器,會得到多方面的性能提升。