校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > 為什么 Nginx 比 Apache 更牛逼

為什么 Nginx 比 Apache 更牛逼

熱門標簽:株洲電銷 陜西辦理400電話 地圖標注小程序 海外工廠地圖標注 貴陽網絡外呼系統軟件 信陽電銷外呼系統怎么樣 南充電銷外呼系統 宿州外呼系統公司 南昌外呼系統定制

Nginx才短短幾年,就拿下了Web服務器大壁江山,眾所周知,Nginx在處理大并發靜態請求方面,效率明顯高于Httpd,甚至能輕松解決C10K問題。

在高并發連接的情況下,Nginx是Apache服務器不錯的替代品。Nginx同時也可以作為7層負載均衡服務器來使用。根據我的測試結果,Nginx + PHP(FastCGI) 可以承受3萬以上的并發連接數,相當于同等環境下Apache的10倍。

一般來說,4GB內存的服務器+Apache(prefork模式)一般只能處理3000個并發連接,因為它們將占用3GB以上的內存,還得為系統預留1GB的內存。我曾經就有兩臺Apache服務器,因為在配置文件中設置的MaxClients為4000,當Apache并發連接數達到3800時,導致服務器內存和Swap空間用滿而崩潰。

而這臺 Nginx + PHP(FastCGI) 服務器在3萬并發連接下,開啟的10個Nginx進程消耗150M內存(15M*10=150M),開啟的64個php-cgi進程消耗1280M內存(20M*64=1280M),加上系統自身消耗的內存,總共消耗不到2GB內存。如果服務器內存較小,完全可以只開啟25個php-cgi進程,這樣php-cgi消耗的總內存數才500M。

在3萬并發連接下,訪問Nginx+ PHP(FastCGI) 服務器的PHP程序,仍然速度飛快。

為什么Nginx在處理高并發方面要優于httpd,我們先從兩種web服務器的工作原理以及工作模式說起。

一、Apache三種工作模式

我們都知道Apache有三種工作模塊,分別為:prefork、worker、event。

  • prefork: 多進程,每個請求用一個進程響應,這個過程會用到select機制來通知。
  • worker: 多線程,一個進程可以生成多個線程,每個線程響應一個請求,但通知機制還是select不過可以接受更多的請求。event: 基于異步I/O模型,一個進程或線程,每個進程或線程響應多個用戶請求,它是基于事件驅動(也就是epoll機制)實現的。

1、prefork的工作原理

如果不用“–with-mpm”顯式指定某種MPM,prefork就是Unix平臺上缺省的MPM。它所采用的預派生子進程方式也是 Apache1.3中采用的模式。

prefork本身并沒有使用到線程,2.0版使用它是為了與1.3版保持兼容性;另一方面,prefork用單獨的子進程來處理不同的請求,進程之間是彼此獨立的,這也使其成為最穩定的MPM之一。

2、worker的工作原理

相對于prefork,worker是2.0版中全新的支持多線程和多進程混合模型的MPM。由于使用線程來處理,所以可以處理相對海量的請求,而系統資源的開銷要小于基于進程的服務器。

但是,worker也使用了多進程,每個進程又生成多個線程,以獲得基于進程服務器的穩定性,這種MPM的工作方 式將是Apache2.0的發展趨勢。

3、event 基于事件機制的特性

一個進程響應多個用戶請求,利用callback機制,讓套接字復用,請求過來后進程并不處理請求,而是直接交由其他機制來處理,通過epoll機制來通知請求是否完成;在這個過程中,進程本身一直處于空閑狀態,可以一直接收用戶請求。可以實現一個進程程響應多個用戶請求。支持持海量并發連接數,消耗更少的資源。

二、如何提高Web服務器的并發連接處理能力

有幾個基本條件:

1、基于線程,即一個進程生成多個線程,每個線程響應用戶的每個請求。

2、基于事件的模型,一個進程處理多個請求,并且通過epoll機制來通知用戶請求完成。

3、基于磁盤的AIO(異步I/O)

4、支持mmap內存映射,mmap傳統的web服務器,進行頁面輸入時,都是將磁盤的頁面先輸入到內核緩存中,再由內核緩存中復制一份到web服務器上,mmap機制就是讓內核緩存與磁盤進行映射,web服務器,直接復制頁面內容即可。不需要先把磁盤的上的頁面先輸入到內核緩存去。

剛好,Nginx 支持以上所有特性。所以Nginx官網上說,Nginx支持50000并發,是有依據的。

三、Nginx優異之處

傳統上基于進程或線程模型架構的Web服務通過每進程或每線程處理并發連接請求,這勢必會在網絡和I/O操作時產生阻塞,其另一個必然結果則是對內存或CPU的利用率低下。

生成一個新的進程/線程需要事先備好其運行時環境,這包括為其分配堆內存和棧內存,以及為其創建新的執行上下文等。這些操作都需要占用CPU,而且過多的進程/線程還會帶來線程抖動或頻繁的上下文切換,系統性能也會由此進一步下降。

另一種高性能web服務器/Web服務器反向代理:Nginx,Nginx的主要著眼點就是其高性能以及對物理計算資源的高密度利用,因此其采用了不同的架構模型。受啟發于多種操作系統設計中基于“事件”的高級處理機制,Nginx采用了模塊化、事件驅動、異步、單線程及非阻塞的架構,并大量采用了多路復用及事件通知機制。

在Nginx中,連接請求由為數不多的幾個僅包含一個線程的進程Worker以高效的回環(run-loop)機制進行處理,而每個Worker可以并行處理數千個的并發連接及請求。

四、Nginx 工作原理

Nginx會按需同時運行多個進程:一個主進程(master)和幾個工作進程(worker),配置了緩存時還會有緩存加載器進程(cache loader)和緩存管理器進程(cache manager)等。所有進程均是僅含有一個線程,并主要通過“共享內存”的機制實現進程間通信。主進程以root用戶身份運行,而worker、cache loader和cache manager均應以非特權用戶身份運行。

在高連接并發的情況下,Nginx是Apache服務器不錯的替代品。

Nginx 安裝非常的簡單 , 配置文件非常簡潔(還能夠支持perl語法),Bugs 非常少的服務器: Nginx 啟動特別容易, 并且幾乎可以做到7*24不間斷運行,即使運行數個月也不需要重新啟動. 你還能夠 不間斷服務的情況下進行軟件版本的升級 。

五、Nginx 的誕生主要解決C10K問題

最后我們從各自使用的多路復用IO模型來分析:

1、select模型:(apache使用,由于受模塊等限制,用的不多);

單個進程能夠 監視的文件描述符的數量存在最大限制;

select()所維護的 存儲大量文件描述符的數據結構 ,隨著文件描述符數量的增長,其在用戶態和內核的地址空間的復制所引發的開銷也會線性增長;

由于網絡響應時間的延遲使得大量TCP連接處于非活躍狀態,但調用select()還是會對 所有的socket進行一次線性掃描 ,會造成一定的開銷;

2、poll:poll是unix沿用select自己重新實現了一遍,唯一解決的問題是poll 沒有最大文件描述符數量的限制;

3、epoll模型:(Nginx使用)

epoll帶來了兩個優勢,大幅度提升了性能:

1)基于事件的就緒通知方式 ,select/poll方式,進程只有在調用一定的方法后,內核才會對所有監視的文件描述符進行掃描,而epoll事件通過epoll_ctl()注冊一個文件描述符,一旦某個文件描述符就緒時,內核會采用類似call back的回調機制,迅速激活這個文件描述符,epoll_wait()便會得到通知

2)調用一次epoll_wait()獲得就緒文件描述符時,返回的并不是實際的描述符,而是一個代表就緒描述符數量的值,拿到這些值去epoll指定的一個數組中依次取得相應數量的文件描述符即可,這里使用內存映射(mmap)技術, 避免了復制大量文件描述符帶來的開銷

3)當然epoll也有一定的局限性, epoll只有Linux2.6才有實現 ,而其他平臺都沒有,這和apache這種優秀的跨平臺服務器,顯然是有些背道而馳了。

4)簡單來說epoll是select的升級版,單進程管理的文件描述符沒有最大限制。但epoll只有linux平臺可使用。作為跨平臺的Apache沒有使用

來源:http://codebay.cn/post/8557.html

到此這篇關于為什么 Nginx 比 Apache 更牛逼的文章就介紹到這了,更多相關Nginx對比 Apache內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

標簽:石嘴山 晉城 拉薩 鄭州 開封 玉林 汕頭 三明

巨人網絡通訊聲明:本文標題《為什么 Nginx 比 Apache 更牛逼》,本文關鍵詞  為什么,Nginx,比,Apache,更牛,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《為什么 Nginx 比 Apache 更牛逼》相關的同類信息!
  • 本頁收集關于為什么 Nginx 比 Apache 更牛逼的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    青青草原综合久久大伊人精品 | 蜜臀av性久久久久蜜臀aⅴ流畅| 国产精品三级av| 欧美电视剧免费观看| 91精品啪在线观看国产60岁| 在线播放欧美女士性生活| 欧美日韩国产影片| 91精品国产色综合久久不卡蜜臀| 91精品国产综合久久久蜜臀粉嫩 | 欧美在线不卡视频| 欧美私人免费视频| 51久久夜色精品国产麻豆| 欧美一区二区视频在线观看| 日韩欧美国产小视频| 久久亚洲春色中文字幕久久久| 久久久亚洲精华液精华液精华液| 国产精品区一区二区三| 亚洲激情六月丁香| 日韩在线观看一区二区| 人人精品人人爱| 国产成人鲁色资源国产91色综| 成人午夜激情在线| 欧美性猛交xxxxxxxx| www国产成人| 一级日本不卡的影视| 日韩不卡手机在线v区| 国产成人综合在线观看| 日本高清不卡aⅴ免费网站| 91精品在线免费观看| 国产精品欧美久久久久无广告| 一区二区不卡在线播放 | 日韩理论片一区二区| 视频一区二区三区中文字幕| 国产福利一区二区三区视频 | 免费xxxx性欧美18vr| 国产成人超碰人人澡人人澡| 欧美午夜精品久久久| 精品国产91洋老外米糕| 一区二区三区在线不卡| 国产剧情一区二区| 欧美精品aⅴ在线视频| 国产精品国产三级国产aⅴ中文| 日韩成人伦理电影在线观看| 91亚洲精品久久久蜜桃| 日韩欧美中文一区二区| 亚洲日本韩国一区| 国产精品一区免费视频| 91久久线看在观草草青青 | 中文字幕视频一区二区三区久| 亚洲国产精品久久久男人的天堂| 卡一卡二国产精品 | 一区二区三区不卡视频 | 国产精品久久久久久久久搜平片 | 国产成人夜色高潮福利影视| 在线观看亚洲a| 国产女同互慰高潮91漫画| 香蕉影视欧美成人| 成人看片黄a免费看在线| 精品日韩在线一区| 亚洲不卡av一区二区三区| av网站免费线看精品| 日韩欧美一级在线播放| 亚洲成人第一页| 欧美无砖专区一中文字| 亚洲综合丝袜美腿| 99久久精品久久久久久清纯| 国产婷婷色一区二区三区在线| 日本欧洲一区二区| 色综合久久天天| 久久久精品人体av艺术| 国内欧美视频一区二区| 欧美一级免费大片| 美女视频网站黄色亚洲| 欧美α欧美αv大片| 精品亚洲欧美一区| 久久视频一区二区| 国产酒店精品激情| 国产日韩综合av| 精品系列免费在线观看| 日韩亚洲欧美成人一区| 日韩一区精品视频| 日韩欧美aaaaaa| 国产成人三级在线观看| 2021中文字幕一区亚洲| 久久精品二区亚洲w码| 欧美大片一区二区| 国产一区二区h| 久久综合九色综合97婷婷女人| 老司机精品视频在线| 国产性色一区二区| 成人免费看的视频| 国产精品美女视频| 91在线视频免费观看| 欧美国产日本韩| 成人av电影在线观看| 国产精品久久三| 91视频在线观看免费| 亚洲视频电影在线| 欧美亚一区二区| 精品一区二区三区在线观看| 欧美一区二区视频观看视频| 国产精品影音先锋| 亚洲国产精华液网站w| 成人app下载| 亚洲精品久久久久久国产精华液| 色噜噜久久综合| 亚洲一区二区三区四区五区中文| 91精品欧美久久久久久动漫 | 国产亚洲欧洲997久久综合| 激情欧美日韩一区二区| 国产欧美一区二区精品忘忧草| 国产大陆a不卡| 国产精品久久久久久久久动漫| 日本道在线观看一区二区| 精品制服美女丁香| 亚洲一二三四区不卡| 国产亚洲精品精华液| 欧美久久一二三四区| 成人国产精品免费观看| 蜜桃av噜噜一区| 一区二区三区不卡视频| 国产亚洲一区二区三区| 欧美福利视频导航| 成人高清视频在线观看| 亚洲成人激情自拍| 国产精品国产馆在线真实露脸| 91精品国产综合久久久久久久久久 | 久久精品一区二区三区av| jvid福利写真一区二区三区| 久久精品99国产精品| 国产精品日韩精品欧美在线| 日本韩国欧美在线| 久久精品久久久精品美女| 国产精品高清亚洲| 国产亚洲一区字幕| 欧美成人高清电影在线| 欧美日韩国产精品成人| 99精品视频在线播放观看| 国产麻豆一精品一av一免费| 日韩高清欧美激情| 午夜精品久久久久久久蜜桃app| 日韩一区在线看| 国产精品私房写真福利视频| 精品国产一区二区亚洲人成毛片| 欧美美女喷水视频| 91猫先生在线| 成人av资源网站| 久久成人av少妇免费| 五月激情六月综合| 国产精品无遮挡| 91精品婷婷国产综合久久竹菊| 在线观看亚洲一区| 色天天综合色天天久久| 狠狠色狠狠色合久久伊人| 亚洲国产成人高清精品| 精品精品欲导航| 欧美日本一道本在线视频| 91久久精品一区二区三| 99久久精品国产观看| av在线播放不卡| 成人免费看的视频| 成人高清视频免费观看| 色吊一区二区三区| 91视视频在线观看入口直接观看www | 亚洲成人久久影院| 亚洲一区二区三区四区不卡| 亚洲电影一级黄| 蜜臀av性久久久久蜜臀aⅴ流畅 | 91欧美激情一区二区三区成人| 99精品久久久久久| 欧美亚洲国产一区在线观看网站| 在线一区二区视频| 欧美老肥妇做.爰bbww视频| 日韩欧美国产一区二区三区 | 成人爽a毛片一区二区免费| 国产.精品.日韩.另类.中文.在线.播放 | 日本91福利区| 国产69精品久久777的优势| 色综合一区二区三区| 欧美精品一二三区| 久久夜色精品国产噜噜av| 亚洲欧洲日产国码二区| 午夜久久久久久久久| 国产毛片一区二区| 97久久超碰精品国产| 777午夜精品视频在线播放| 日韩视频在线永久播放| 国产精品欧美经典| 日韩精品91亚洲二区在线观看| 国产一区二区影院| 北条麻妃一区二区三区| 欧美日韩国产乱码电影| 亚洲国产高清aⅴ视频| 五月天亚洲精品| 成人黄色在线看| 精品日韩一区二区三区免费视频| 亚洲另类色综合网站| 国产又粗又猛又爽又黄91精品| 欧美伊人久久久久久午夜久久久久| 久久久精品欧美丰满|