Apache,Nginx對比 Tomcat:

Tomcat好比一個飯店的廚師!當飯店很小的時候!他不僅的做廚師自己還得做服務員!來人吃飯他詢問客人吃什麼,了解需求以後!還需要去後台做飯,在端給客人,客人走了他還要說句“OK 200”。 Tomcat手藝不錯,吃飯的人越來越多! Tomcat有點應接不暇!點菜,做菜,端菜。飯店決定,聘請一個服務員,再聘請一個廚師!服務員就是apache或者nginx,他負責接收客人的需求,但是他們不做菜,將菜單轉發給廚師!廚師也輕鬆很了多,只負責做菜,而且還多了一個廚師,他的壓力也減輕了一半! Nginx/Apache負責前端接收請求,轉發請求。 Tomcat進行請求處理! Apache和Nginx:因為他們的角色有點重疊!我們從技術層面進行對比!

Nginx:epoll 異步非阻塞nginx在開啟時,會生成一個master進程,然後,master進程會fork多個worker子進程,最後每個用戶的請求由worker的子線程處理。可以配置nginx的upstream實現nginx的反向代理。支持7層負載均衡靜態文件、反向代理、前端緩存等處理方便支持高並發連接,每秒最多的並發連接請求理論可以達到50000 個配置文件簡單用線程處理用戶請求,而線程是共享內存的,只需要開啟少量進程,多個線程就可以共享進程的內存,佔用內存小一個進程死掉時,會影響到多個用戶的使用,穩定性差。

Apache:穩定rewrite強大select 同步阻塞一個連接對應一個進程用進程處理用戶請求,用MPM(多處理模塊)來綁定到網絡端口上,接受請求,調度子進程處理請求當用戶請求過多時,開啟的進程較多,佔用內存大,每秒最多的並發連接請求最多不超過3000 個一個進程死掉時,不會影響其他的用戶。

發佈留言