apache和nginx效能差很多嗎?五四瘋哥2019-11-11 17:39:50

關於apache和nginx的比較網上一大把,這裡就不再複製了,但說apache效能差很多有點看不起老前輩了,畢竟apache發展這麼多年,基本上該有的功能都有了,該處理的bug也都處理了,說apache是超穩定那是一點也不過份,這個靠時間堆積起來的底蘊是nginx這種後起之秀比不過的,但這也意味著現在apache身材臃腫,對新手來說感覺比較難上手。

nginx比apache好的地方在於輕量級,配置簡單,極易上手,尤其是其在處理高併發和反向代理方面比apache明顯佔優勢,自然成了雲虛擬主機和一些高併發場景下的首選。

拿我個人而言,其實並遇到過多大的高併發場景,但自從用了nginx之後就用不回apache了,並不是因為nginx效能有多高,僅僅是因為配置簡單而已。

如果搭建新環境沒有特殊要求,就用nginx吧。

apache和nginx效能差很多嗎?創新炎黃2018-04-08 22:30:01

《nginx比Apache跑得快;不管你同不同意,靈活性還是nginx好得多!》

Nginx不知比apache強大多少倍的!即便是APaChe2。4來比賽也是如此!Nginx堪稱程式設計師級的web應用伺服器!

一、設計思想註定nginx的效能比Apache高得多;

nginx使用c語言編寫而成,是當今世界跑得最歡的web伺服器,也許每個人都在接受它的服務。尤其是的中國這個網際網路+的大世界裡,nginx這個開源的軟體受國人歡迎的程度已遠遠超過了那些高貴的IBM、微軟的web應用伺服器了!

apache和nginx效能差很多嗎?

圖:2018年NGINX受歡迎的程度正在瘋狂上升;

二、後來居上的大陸網際網路,nginx最受歡迎;

Nginx是一款輕量級的Web 伺服器/反向代理伺服器及電子郵件(IMAP/POP3)代理伺服器,開源釋出,所以還有了阿里的中國化版本Tengine。

apache和nginx效能差很多嗎?

Nginx其特點是佔有記憶體少,併發能力強,事實上nginx的併發能力確實在同類型的網頁伺服器中表現最好。

三、nginx自產生以來,nginx成為幾乎所有大併發量WEB伺服器的首選;

apache和nginx效能差很多嗎?

中國大名大名鼎鼎人網路平臺基本都用上了nginx:比如百度,比如京東,比如新浪,比如網易,比如騰訊,比如淘寶等等。

四、關於nginx的穩定性Monit自動監控;

Monit 算是 Linux程序和服務監控的大神。 monit免費、開源的一款基於網路的程序監控工具。它能自動地監控和管理系統程序,當然能量遠不止於此。

Monit使用C語言編寫而成,處理效率非常之高,佔用資源極少,配置引數簡單,只使用幾個if … then…語句就可以完成監控任務。尤其適用於對某些程序進行守護。比如:檢測到http服務不正常時,自動重啟nginx 。

monit還能監控象Apache, MySQL, Mail, FTP, ProFTP, SSH各式各樣的服務。其最大有功能就在於一個程序服務宕機了,monit就可以重新開啟這個服務!

總結:流行就有流行的道理!假如你要做個大平臺,用用nginx也許是個正確的選擇!

apache和nginx效能差很多嗎?雲渺書齋2020-06-30 16:15:48

Nginx效能要比Apache高,主要是由於網路IO模型選擇不同,Nginx使用是最新的epoll網路I/O模型,而Apache使用的則是傳統的select模型。Nginx是非同步非阻塞,Apache是同步阻塞。

apache和nginx效能差很多嗎?

同步與非同步

同步:同步是指呼叫者發起一個請求,直到請求返回結果之後,才進行下一步操作。簡單來說,同步就是必須一件事一件事的做,等前一件做完了,才能做下一件事。

非同步:呼叫者發起一個請求,在沒有得到返回結果之前,可以繼續執行後續操作。非同步相對同步來講,二者的區別主要在於是否需要等待某操作的返回結果。

阻塞與非阻塞

阻塞:阻塞一般是指在呼叫結果返回之前,當前執行緒會被掛起。呼叫執行緒只有在得到結果之後才會被喚醒執行後續的操作。

非阻塞:非阻塞是指在呼叫結果沒有返回之前,該呼叫不會阻塞住當前執行緒。

apache和nginx效能差很多嗎?

epoll

epoll是指當檔案描述符的核心緩衝區非空的時候,發出可讀訊號進行通知,當寫緩衝區不滿的時候,發出可寫訊號的一種I/O事件通知機制,是linux 核心實現IO多路複用的一個實現。

檔案描述符數目沒有上限:透過epoll_ctl()來註冊一個檔案描述符,核心中使用紅黑樹的資料結構來管理所有需要監控的檔案描述符。

基於事件就緒通知方式:一旦被監聽的某個檔案描述符就緒,核心會採用類似於callback的回撥機制,迅速啟用這個檔案描述符,這樣隨著檔案描述符數量的增加,也不會影響判定就緒的效能。

維護就緒佇列:當檔案描述符就緒,就會被放到核心中的一個就緒佇列中,這樣呼叫epoll_weit獲取就緒檔案描述符的時候,只要取佇列中的元素即可,操作的時間複雜度恆為O(1)。

使用mmap加速核心與使用者空間的訊息傳遞。

apache和nginx效能差很多嗎?

select

select()的可移植性更好,在某些Unix系統上不支援poll()。

select() 對於超時值提供了更好的精度:微秒,而poll是毫秒。

單個程序可監視的fd數量被限制。

需要維護一個用來存放大量fd的資料結構,這樣會使得使用者空間和核心空間在傳遞該結構時複製開銷大。

對fd進行掃描時是線性掃描。fd劇增後,IO效率較低,因為每次呼叫都對fd進行線性掃描遍歷,所以隨著fd的增加會造成遍歷速度慢的效能問題。

select() 函式的超時引數在返回時也是未定義的,考慮到可移植性,每次在超時之後在下一次進入到select之前都需要重新設定超時引數。

apache和nginx效能差很多嗎?

總結

Linux下能夠承受高併發訪問的Squid、Memcached都採用的是epoll,epoll是一種IO多路複用技術,可以非常高效的處理數以百萬計的socket控制代碼,比起select效率會高一些。

epoll不會隨著監聽fd(檔案描述符)數目的增長而降低效率。

select採用的是輪詢來處理,在高併發伺服器中,輪詢I/O是最耗時間的操作之一,輪詢的fd(檔案描述符)數目越多,自然耗時越多,效能越低。

Nginx執行效率高、CPU記憶體佔用率低、代理功能強大、佔用資源少、支援更多的併發連線,主要用來做動靜分離和負載均衡。Apache在動態資源處理和穩定性方便要優於Nginx,但是靜態資源處理不如Nginx。

如果解決了你的疑惑,請點點贊,點點關注,謝謝。

apache和nginx效能差很多嗎?小x全棧工程師2018-11-18 17:48:18

我2008年開始使用nginx,2009年開始開發nginx模組,ngnix最大的特點是效能,是很好的c10k的實踐。在nginx流行之前雖然還有lighttpd,squid,但那個時期apache的server模型是多程序和多執行緒,不管是什麼場景,只要當前連線數過萬,都是伺服器的負載都是很高的。

nginx的server模型是多程序io複用,一個程序可以同時處理過萬個tcp連線,Linux使用epoll,bsd系使用kqueue這些基於事件驅動去實現io複用,同時nginx內部使用了非常高效的資料結構去管理這些連結,例如rbtree,這樣使得管理十萬以上的連線CPU消耗也可以有效控制。

nginx是基於資料流去處理http資料的,因此nginx模組的開發並不容易,由於開源社群的努力,現在也存在好多nginx模組,幾乎apache常用的模組nginx也有對應的模組,有幾個關鍵的模組,例如ssl,ssi,url rewrite,gzip,這樣nginx就可以很輕易取代apche的地位了。於此同時,nginx的反向代理也是特色之一,因此nginx不但取代了apache也在一些領域裡取代了squid,主要是squid實在太老舊了。

apache和nginx效能差很多嗎?老劉論道2018-04-25 22:02:36

nginx是因網際網路而生的輕量級、高效能,高併發性和低記憶體使用的場景。

Apache因年代久遠,屬於重型的的web應用伺服器,每個請求都會佔用一個程序處理,程序非常佔資源 ,而且當併發量大的時候,就需要等額的程序,導致高記憶體、CPU的佔用。

apache和nginx效能差很多嗎?偶爾來逛逛隨便來瞧瞧2018-04-09 12:40:12

對java程式設計師來說apache基本是雞肋,當然你如果非要說tomcat是apache的擴充套件,那也隨你,單就apache來說,靜態比不過nginx,動態和weblogic/jboss這些比又不是一個檔次,別人用不用不知道反正我們是不用滴

apache和nginx效能差很多嗎?綠油油啊嘞2018-11-20 14:09:11

還不錯 用了久的wdcp 換寶塔了 在linux上跑得還闊以

apache和nginx效能差很多嗎?RedHatLinux2021-05-19 20:57:27

主要看應用場景。LAMP構建的Web伺服器更加的成熟,模組兒更全面。Lnmp構建的Web伺服器速度更快,響應更及時,佔用記憶體更小。還是要看你的具體需求。

apache和nginx效能差很多嗎?啊寶超帥2019-11-12 21:06:21

還可以,就是分作什麼用

apache和nginx效能差很多嗎?馬化雲Poncky2019-11-11 17:39:20

nginx好比去醫院看病,掛了號等排到你,apache就是私人醫生,一直在為你服務直到你病痊癒

apache和nginx效能差很多嗎?道醫快郎中董針傳人2020-07-04 12:15:47

被神話的nginx。web是它,負載均衡是它,快取是它,恨不得資料庫也是它。。。包治百病,嗯!

apache和nginx效能差很多嗎?DIY吧 2019-11-11 22:48:26

nginx

越來受人歡迎了。

apache和nginx效能差很多嗎?TXOE潮流文化2019-11-11 20:10:15

沒用過啊啊 不好意思

apache和nginx效能差很多嗎?夏雨guo2019-11-13 16:32:21

謝邀。不瞭解,不好評價。

apache和nginx效能差很多嗎?打包帶走女朋友2019-11-11 19:16:02

謝悟空邀請,沒錢我沒用過啊[捂臉]