【Nginx】第二節 Nginx的優勢

author:咔咔nginx

wechat:fangkangfkweb

 

優勢一:IO多路複用epoll

概念:I/O多路複用就是經過一種機制,一個進程能夠監視多個描述符,一旦某個描述符就緒(通常是讀就緒或者寫就緒),可以通知程序進行相應的讀寫操做apache

案例: 好比這裏有三個學生分別是ABC三位,這個時候須要老師輔導做業,老師輔導做業的前提也得是學生把做業作完是吧!那麼最好的方案是什麼呢!那就是當A學生先把做業寫完後,老師去輔導A。學生B做業寫完以後,老師在去輔導b,這就是典型的IO複用服務器

使用場景網絡

       1)當客戶處理多個描述符時(通常是交互式輸入和網絡套接口),必須使用I/O複用。併發

  2)當一個客戶同時處理多個套接口時,這種狀況是可能的,但不多出現。負載均衡

  3)若是一個TCP服務器既要處理監聽套接口,又要處理已鏈接套接口,通常也要用到I/O複用。異步

  4)若是一個服務器即要處理TCP,又要處理UDP,通常要使用I/O複用。模塊化

  5)若是一個服務器要處理多個服務或多個協議,通常要使用I/O複用。高併發

 

優勢二:輕量級

功能模塊少

代碼模塊化

 

優勢三:CPU親和

是一種把CPU核心的和Nginx的工做進程綁定方式,把每一個worker進程固定在一個cpu上執行,減小切換cpu的cache,miss,得到更好的性能 

 

優勢四:處理靜態文件很快速,使用的是sendfile方式傳輸文件

 

 

補充:nginx跟apache的優缺點

nginx 相對 apache 的優勢:

  • 輕量級,一樣起web 服務,比apache 佔用更少的內存及資源
  • 抗併發,nginx 處理請求是異步非阻塞的,而apache 則是阻塞型的,在高併發下nginx 能保持低資源低消耗高性能
  • 高度模塊化的設計,編寫模塊相對簡單
  • 社區活躍,各類高性能模塊出品迅速啊
  • Nginx自己就是一個反向代理服務器
  • Nginx支持7層負載均衡
  • nginx 適合作靜態,簡單,效率高


apache 相對nginx 的優勢:

  • rewrite ,比nginx 的rewrite 強大
  • 模塊超多,基本想到的均可以找到
  • 少bug ,nginx 的bug 相對較多
  • 超穩定
  • apache 適合作動態,穩定,功能強
相關文章
相關標籤/搜索