国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 網(wǎng)站 > IIS > 正文

Nginx反向代理+DNS輪詢+IIS7.5 千萬(wàn)PV 百萬(wàn)IP 雙線 網(wǎng)站架構(gòu)案例

2024-08-29 03:08:15
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
某公司有一站點(diǎn),一天IP 430W,PV 3100W,之前采用5臺(tái) DELL R610 做NLB,系統(tǒng)2008 IIS7.5.每天高峰期時(shí)都不堪重負(fù).會(huì)出現(xiàn)以下情況 Nginx  ("engine x") 是一個(gè)高性能的 HTTP 和反向代理服務(wù)器,也是一個(gè) IMAP/POP3/SMTP 代理服務(wù)器。 Nginx 是由 Igor Sysoev 為俄羅斯訪問(wèn)量第二的 Rambler.ru 站點(diǎn)開(kāi)發(fā)的,它已經(jīng)在該站點(diǎn)運(yùn)行超過(guò)兩年半了。Igor 將源代碼以類BSD許可證的形式發(fā)布。

  Nginx 的中文維基:http://wiki.codemongers.com/NginxChs

  在高并發(fā)連接的情況下,Nginx是Apache服務(wù)器不錯(cuò)的替代品。Nginx同時(shí)也可以作為7層負(fù)載均衡服務(wù)器來(lái)使用。根據(jù)我的測(cè)試結(jié)果,Nginx 0.5.31 + PHP 5.2.4 (FastCGI) 可以承受3萬(wàn)以上的并發(fā)連接數(shù),相當(dāng)于同等環(huán)境下Apache的10倍。

  Nginx 超越 Apache 的高性能和穩(wěn)定性,使得國(guó)內(nèi)使用 Nginx 作為 Web 服務(wù)器的網(wǎng)站也越來(lái)越多,其中包括新浪博客、新浪播客、網(wǎng)易新聞、騰訊網(wǎng)、搜狐博客等門(mén)戶網(wǎng)站頻道,六間房、56.com等視頻分享網(wǎng)站,Discuz!官方論壇、水木社區(qū)等知名論壇,盛大在線、金山逍遙網(wǎng)等網(wǎng)絡(luò)游戲網(wǎng)站,豆瓣、人人網(wǎng)、YUPOO相冊(cè)、金山愛(ài)詞霸、迅雷在線等新興Web 2.0網(wǎng)站。

    在高并發(fā)連接的情況下,Nginx是Apache服務(wù)器不錯(cuò)的替代品。Nginx同時(shí)也可以作為7層負(fù)載均衡服務(wù)器來(lái)使用。根據(jù)我的測(cè)試結(jié)果,Nginx 0.8.46 + PHP 5.2.14 (FastCGI) 可以承受3萬(wàn)以上的并發(fā)連接數(shù),相當(dāng)于同等環(huán)境下Apache的10倍。

  根據(jù)我的經(jīng)驗(yàn),4GB內(nèi)存的服務(wù)器+Apache(prefork模式)一般只能處理3000個(gè)并發(fā)連接,因?yàn)樗鼈儗⒄加?GB以上的內(nèi)存,還得為系統(tǒng)預(yù)留1GB的內(nèi)存。我曾經(jīng)就有兩臺(tái)Apache服務(wù)器,因?yàn)樵谂渲梦募性O(shè)置的MaxClients為4000,當(dāng)Apache并發(fā)連接數(shù)達(dá)到3800時(shí),導(dǎo)致服務(wù)器內(nèi)存和Swap空間用滿而崩潰。

  而這臺(tái) Nginx 0.8.46 + PHP 5.2.14 (FastCGI) 服務(wù)器在3萬(wàn)并發(fā)連接下,開(kāi)啟的10個(gè)Nginx進(jìn)程消耗150M內(nèi)存(15M*10=150M),開(kāi)啟的64個(gè)php-cgi進(jìn)程消耗1280M內(nèi)存(20M*64=1280M),加上系統(tǒng)自身消耗的內(nèi)存,總共消耗不到2GB內(nèi)存。如果服務(wù)器內(nèi)存較小,完全可以只開(kāi)啟25個(gè)php-cgi進(jìn)程,這樣php-cgi消耗的總內(nèi)存數(shù)才500M。

  在3萬(wàn)并發(fā)連接下,訪問(wèn)Nginx 0.8.46 + PHP 5.2.14 (FastCGI) 服務(wù)器的PHP程序,仍然速度飛快。下圖為Nginx的狀態(tài)監(jiān)控頁(yè)面,顯示的活動(dòng)連接數(shù)為28457(關(guān)于Nginx的監(jiān)控頁(yè)配置,會(huì)在本文接下來(lái)所給出的Nginx配置文件中寫(xiě)明):

Highslide JS

Highslide JS



為什么Nginx的性能要比Apache高得多?這得益于Nginx使用了最新的epoll(Linux 2.6內(nèi)核)和kqueue(freebsd)網(wǎng)絡(luò)I/O模型,而Apache則使用的是傳統(tǒng)的select模型。目前Linux下能夠承受高并發(fā)訪問(wèn)的Squid、Memcached都采用的是epoll網(wǎng)絡(luò)I/O模型。

  處理大量的連接的讀寫(xiě),Apache所采用的select網(wǎng)絡(luò)I/O模型非常低效。下面用一個(gè)比喻來(lái)解析Apache采用的select模型和Nginx采用的epoll模型進(jìn)行之間的區(qū)別:

  假設(shè)你在大學(xué)讀書(shū),住的宿舍樓有很多間房間,你的朋友要來(lái)找你。select版宿管大媽就會(huì)帶著你的朋友挨個(gè)房間去找,直到找到你為止。而epoll版宿管大媽會(huì)先記下每位同學(xué)的房間號(hào),你的朋友來(lái)時(shí),只需告訴你的朋友你住在哪個(gè)房間即可,不用親自帶著你的朋友滿大樓找人。如果來(lái)了10000個(gè)人,都要找自己住這棟樓的同學(xué)時(shí),select版和epoll版宿管大媽,誰(shuí)的效率更高,不言自明。同理,在高并發(fā)服務(wù)器中,輪詢I/O是最耗時(shí)間的操作之一,select和epoll的性能誰(shuí)的性能更高,同樣十分明了。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 城口县| 昂仁县| 紫云| 罗山县| 大英县| 天柱县| 永川市| 通化县| 仙游县| 大石桥市| 连云港市| 宁强县| 陆河县| 克什克腾旗| 湖口县| 聂拉木县| 福泉市| 遵义市| 荥阳市| 洞口县| 郎溪县| 陈巴尔虎旗| 井冈山市| 红河县| 嘉善县| 寻甸| 加查县| 桦南县| 介休市| 衡阳市| 鄂温| 莆田市| 万安县| 昭觉县| 开远市| 九江市| 察哈| 大田县| 田林县| 周口市| 山阳县|