回覆列表
-
1 # Benben167825543
-
2 # 總有刁民想害朕81065117
apache 在2.4 版以前,網路方面效能遠不如 nginx ,到了 2.4 學了 nginx 重做了網路方面的程式碼,才拉進了效能差距。
-
3 # 此生唯一
好幾年沒接觸過apache了,相反nginx倒是在工作中應用場景比比皆是!
大概四五年前apache+tomcat都還是web服務端的主流架構,apache跟tomcat這種應用伺服器能良好結合,但是nginx出現之後,apache就大勢已去了,因為"老毛子"寫的nginx輕量級,高效能,超穩定風靡全球,幾乎成了伺服器後端的必備伺服器了!
現對比下apache和nginx的特點,就能知道它們的效能差異!
使用模型:apache使用的是同步多執行緒模式,對每一個連線都必須有一個執行緒來保持連線,而nginx使用epoll模型,採用非同步非阻塞模式,使用一個master程序用來接收所有連線,當有請求的時候,分配worker程序來處理請求,避免了大量建立和CPU切換執行緒的開銷,單臺apache架構只能維持最多幾千的連線,而nginx能支援幾萬的併發量!
nginx優點:輕量級,支援併發量高,作為反向代理伺服器能支援多種負載均衡方式,配置簡單等!
apache優點:穩定。
現在大型的服務系統中,很依賴於nginx的使用,使用nginx叢集能應付大量併發所帶來的效能瓶頸,並透過負載均衡將請求分發到應用伺服器上。
不僅如此,隨著應用系統前後端分離技術的發展,使用nginx的反向代理可輕鬆解決前後端帶來的跨域訪問問題!
所以掌握nginx的安裝,配置,維護是後端開發不可或缺的能力,關於JAVA相關的技術,後期會有很多分享,敬請關注。。
具體不多說什麼了,nginx快有他的道理,但是反過來他也犧牲一些特性。又快又好的東西是不存在的,除非革命性的變化,