資源描述:
《基于Nginx替代Apache在高并發(fā)WEB負(fù)載均衡系統(tǒng)中的應(yīng)用.pdf》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、測(cè)試工具與解決方案2015.6基于Nginx替代Apache在高并發(fā)WEB負(fù)載均衡系統(tǒng)中的應(yīng)用王艷,陳衛(wèi)衛(wèi)(西安航空職業(yè)技術(shù)學(xué)院,西安,710089)摘要:為了解決高并發(fā)WEB負(fù)載均衡系統(tǒng)中Apache做請(qǐng)求分發(fā)服務(wù)器的性能瓶頸問(wèn)題,本文在傳統(tǒng)負(fù)載方案的基礎(chǔ)上設(shè)計(jì)了一種用Nginx替代Apache的彈性擴(kuò)展架構(gòu),并利用LoadRunner和WebBench測(cè)試工具對(duì)網(wǎng)上在線支付系統(tǒng)的高并發(fā)訪問(wèn)進(jìn)行測(cè)試實(shí)驗(yàn)。得出結(jié)論:采用Nginx替代Apache,服務(wù)器最大能承受的并發(fā)訪問(wèn)量能提高近10倍,服務(wù)器資源占用量大大降低,用戶訪問(wèn)WEB應(yīng)用的響應(yīng)時(shí)間也大大縮短
2、。關(guān)鍵詞:負(fù)載均衡;Nginx;Apache中圖分類號(hào):TP31ApplicationofHigh-concurrencyWEBLoadBalancingSystemBasedonNginxInsteadofApacheChenWeiwei,WangYan(XI’ANAeronauticalPolytechnicInstitute,Xi’an,710089)Abstract:InordertosolvetheproblemofperformancewhenApacheasarequestdistributionserverinhigh-concurren
3、cyWEBloadbalancingsystem,thispaperpresentsanelasticextensionstructurewhichuseNginxinsteadofApachebasedonthetraditionalloadbalancingscheme.WetakesomeexperimentuseLoadRunnerandWebBenchtotheonlinepaymentsystemandgettheconclusion.WhenuseNginxinsteadofApache,themaximumconcurrentaccess
4、volumewhichtheservecanwithstandisincreasingnearly10times,theserverresourceisgreatlyreduced,theresponsetimeofuseraccesstotheWEBapplicationgreatlyshorten.Keywords:WebLoadBalancing;Nginx;Apache0引言往往針對(duì)每個(gè)連接會(huì)調(diào)用一個(gè)獨(dú)立的進(jìn)程或線程,并且阻塞在網(wǎng)絡(luò)或I/O操作上面。根據(jù)應(yīng)用程序的不同,它們對(duì)內(nèi)存和CPU的在高并發(fā)訪問(wèn)量的WEB系統(tǒng)上線部署時(shí),通常為了提高性能使用
5、效率相對(duì)較低。在產(chǎn)生一個(gè)新的進(jìn)程或線程時(shí)需要一個(gè)新的而采用負(fù)載均衡部署方案。在JAVAEE開(kāi)發(fā)領(lǐng)域,開(kāi)源的負(fù)載均衡運(yùn)行時(shí)環(huán)境,包括堆和棧的分配,以及運(yùn)行時(shí)上下文。因此需要方案由于成本低廉,資源豐富而深受軟件開(kāi)發(fā)者的喜愛(ài),在眾多額外的CPU開(kāi)銷來(lái)創(chuàng)建這些環(huán)境,過(guò)多的線程以及上下文切換最開(kāi)源的負(fù)載均衡方案中,Apache+Tomcat最受歡迎,技術(shù)也最為終會(huì)導(dǎo)致性能的下降。所有這些狀況在Apache上都可以見(jiàn)到。在成熟。但是以Apache作為負(fù)載請(qǐng)求分發(fā)器在處理高并發(fā)請(qǐng)求時(shí),實(shí)際應(yīng)用中經(jīng)過(guò)反復(fù)測(cè)試與分析,我們發(fā)現(xiàn)造成此現(xiàn)象的根本原網(wǎng)頁(yè)訪問(wèn)速度變得很慢,嚴(yán)重時(shí)
6、甚至無(wú)法打開(kāi)網(wǎng)頁(yè),同時(shí),服務(wù)器因在于:Apache處理大量連接的讀寫所采用的select網(wǎng)絡(luò)I/OCPU、內(nèi)存等資源占用量急劇上升。所以在部署一些高并發(fā)訪問(wèn)量模型非常低效,從而導(dǎo)致Apache無(wú)法應(yīng)對(duì)高并發(fā)量的請(qǐng)求處理。的Web應(yīng)用系統(tǒng)時(shí),需要尋找一種替代方案來(lái)解決此問(wèn)題。在此情況下,即使增加服務(wù)器配置,擴(kuò)充服務(wù)器數(shù)量,效果也并不1問(wèn)題分析明顯,況且很多企業(yè)無(wú)法承受服務(wù)器升級(jí)所帶來(lái)的額外費(fèi)用開(kāi)傳統(tǒng)的基于進(jìn)程和線程的模型在處理并發(fā)連接的時(shí)候,系統(tǒng)銷,尋找一種替代方案來(lái)解決此問(wèn)題勢(shì)在必行。882015.6測(cè)試工具與解決方案2方案設(shè)計(jì)請(qǐng)求,當(dāng)請(qǐng)求訪問(wèn)量較大時(shí),
7、可增加應(yīng)用節(jié)點(diǎn)數(shù)量來(lái)應(yīng)對(duì)高并發(fā),反之,則減少應(yīng)用節(jié)點(diǎn)數(shù)量,節(jié)約服務(wù)器資源。這樣,整個(gè)系統(tǒng)就2.1網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)構(gòu)成了一種彈性擴(kuò)展結(jié)構(gòu)。如圖2所示:基于以上分析,為了提升高并發(fā)訪問(wèn)量WEB系統(tǒng)的訪問(wèn)性能,本文設(shè)計(jì)了一種用Nginx替代Apache的方案,網(wǎng)絡(luò)結(jié)構(gòu)設(shè)3測(cè)試結(jié)果計(jì)如下圖所示:用Nginx做請(qǐng)求分發(fā)器,多臺(tái)Tomcat處理請(qǐng)求。3.1測(cè)試環(huán)境Nginx根據(jù)訪問(wèn)量將請(qǐng)求均衡地分發(fā)到各臺(tái)Tomcat上做處理。WEB服務(wù)器HPDL360一臺(tái),基本配置為:CPU:1個(gè)4核同時(shí),Tomcat將頻繁訪問(wèn)靜態(tài)資源和數(shù)據(jù)(如CSS樣式文件,Intel(R)Xeon
8、(R)E5506@2.13GHz內(nèi)存:12G硬盤:500G。圖片文件,JS文件以