網(wǎng)站架構(gòu)通用方案_第1頁
網(wǎng)站架構(gòu)通用方案_第2頁
網(wǎng)站架構(gòu)通用方案_第3頁
網(wǎng)站架構(gòu)通用方案_第4頁
網(wǎng)站架構(gòu)通用方案_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、網(wǎng)站架構(gòu)設(shè)計方案目 錄TOC o 1-3 h z u HYPERLINK l _Toc267644488 1設(shè)計思思路 PAGEREF _Toc267644488 h 3 HYPERLINK l _Toc267644489 2系統(tǒng)結(jié)結(jié)構(gòu) PAGEREF _Toc267644489 h 3 HYPERLINK l _Toc267644490 3網(wǎng)絡(luò)規(guī)規(guī)劃及性能能計算 PAGEREF _Toc267644490 h 3 HYPERLINK l _Toc267644491 3.1網(wǎng)網(wǎng)絡(luò)架構(gòu) PAGEREF _Toc267644491 h 3 HYPERLINK l _Toc267644492 3.2

2、網(wǎng)網(wǎng)絡(luò)架構(gòu)說說明 PAGEREF _Toc267644492 h 4 HYPERLINK l _Toc267644493 3.2.11采用雙防防火墻雙交交換機(jī)做網(wǎng)網(wǎng)絡(luò)冗余,保保障平臺服服務(wù) PAGEREF _Toc267644493 h 4 HYPERLINK l _Toc267644494 3.2.22采用硬件件設(shè)備負(fù)載載均衡器,實實現(xiàn)網(wǎng)絡(luò)流流量的負(fù)載載均衡 PAGEREF _Toc267644494 h 4 HYPERLINK l _Toc267644495 3.3系系統(tǒng)測算 PAGEREF _Toc267644495 h 4 HYPERLINK l _Toc267644496 3.3.1

3、1系統(tǒng)處理理能力要求求 PAGEREF _Toc267644496 h 4 HYPERLINK l _Toc267644497 3.3.22業(yè)務(wù)處理理能力要求求 PAGEREF _Toc267644497 h 4 HYPERLINK l _Toc267644498 3.3.33系統(tǒng)話務(wù)務(wù)模型 PAGEREF _Toc267644498 h 4 HYPERLINK l _Toc267644499 3.4配配置核算 PAGEREF _Toc267644499 h 5 HYPERLINK l _Toc267644500 33.4.11數(shù)據(jù)庫服服務(wù)器性能能核算 PAGEREF _Toc26764450

4、0 h 5 HYPERLINK l _Toc267644501 3.4.22WEB服務(wù)務(wù)器集群性性能核算 PAGEREF _Toc267644501 h 5 HYPERLINK l _Toc267644502 3.4.33WEB服務(wù)務(wù)器集群內(nèi)內(nèi)存性能核核算 PAGEREF _Toc267644502 h 5 HYPERLINK l _Toc267644503 3.4.4網(wǎng)絡(luò)帶寬寬 PAGEREF _Toc267644503 h 5 HYPERLINK l _Toc267644504 4性能模模擬測試及及性能推算算 PAGEREF _Toc267644504 h 6 HYPERLINK l _T

5、oc267644505 4.1測測試環(huán)境 PAGEREF _Toc267644505 h 6 HYPERLINK l _Toc267644506 4.2測測試結(jié)果 PAGEREF _Toc267644506 h 8 HYPERLINK l _Toc267644507 4.2.111個客戶端端模擬不同同線和并發(fā)發(fā)請求結(jié)果果 PAGEREF _Toc267644507 h 8 HYPERLINK l _Toc267644508 4.2.2210個客戶戶端請求 PAGEREF _Toc267644508 h 8 HYPERLINK l _Toc267644509 4.3結(jié)結(jié)果分析 PAGEREF _

6、Toc267644509 h 9 HYPERLINK l _Toc267644510 4.4根根據(jù)測試結(jié)結(jié)果推算 PAGEREF _Toc267644510 h 9 HYPERLINK l _Toc267644511 4.5設(shè)設(shè)備清單 PAGEREF _Toc267644511 h 11 HYPERLINK l _Toc267644512 4.5.11硬件設(shè)備備配置清單單 PAGEREF _Toc267644512 h 11 HYPERLINK l _Toc267644513 4.5.22設(shè)備技術(shù)術(shù)規(guī)格 PAGEREF _Toc267644513 h 12 HYPERLINK l _Toc26

7、7644514 4.6平平臺擴(kuò)容的的建議 PAGEREF _Toc267644514 h 12網(wǎng)站的性能能瓶頸分析析網(wǎng)站的性能能影響因素素很多,下下面主要從從如下4個方方面進(jìn)行分分析說明:網(wǎng)絡(luò)負(fù)載公網(wǎng)負(fù)載內(nèi)網(wǎng)負(fù)載WEB應(yīng)用用服務(wù)器性性能CPU存儲,I/O訪問內(nèi)存并發(fā)TCPP/IP連連接數(shù)數(shù)據(jù)庫服務(wù)務(wù)器性能數(shù)據(jù)庫參數(shù)數(shù)配置服務(wù)器性能能(CPUU、內(nèi)存、存儲)數(shù)據(jù)結(jié)構(gòu)的的合理性不同WEBB應(yīng)用的處處理方式而而對不同的的性能瓶頸頸對于靜態(tài)的的網(wǎng)站:靜態(tài)的HTTML頁面面嚴(yán)格地由由標(biāo)準(zhǔn)的HHTML標(biāo)標(biāo)示語言構(gòu)構(gòu)成,并不不需要服務(wù)務(wù)器端即時時運算生成成。這意味味著,對一一個靜態(tài)HHTML文文檔發(fā)出訪訪問

8、請求后后,服務(wù)器器端只是簡簡單地將該該文檔傳輸輸?shù)娇蛻舳硕恕姆?wù)務(wù)器運行的的那個時間間片來看,這這個傳輸過過程僅僅占占用了很小小的CPUU資源。對對于靜態(tài)HHTML的的訪問瓶頸頸為:網(wǎng)絡(luò)絡(luò)帶寬、磁磁盤I/OO以及caache(高速緩沖沖存儲器)。對于動態(tài)頁頁面因為服務(wù)器器解析動態(tài)態(tài)頁面必須須在其傳輸輸?shù)娇蛻舳硕饲熬屯ㄟ^過服務(wù)器來來進(jìn)行解釋釋,這樣就就會給應(yīng)用用服務(wù)器添添加額外的的性能消耗耗,如果進(jìn)進(jìn)一步要訪訪問數(shù)據(jù)庫庫,則會增增加數(shù)據(jù)庫庫服務(wù)器的的性能消耗耗,則動態(tài)態(tài)頁面還有有額外的瓶瓶頸:應(yīng)用用服務(wù)器的的性能,數(shù)數(shù)據(jù)庫服務(wù)務(wù)器的性能能。系統(tǒng)架構(gòu)設(shè)設(shè)計總體思路為提高網(wǎng)站站的高并發(fā)發(fā)性能,提提

9、高開發(fā)效效率及運營營效率,主主要按如下下幾個思路路進(jìn)行規(guī)劃劃設(shè)計:負(fù)載均衡四層交換負(fù)負(fù)載均衡:采用負(fù)載均均衡器來實實現(xiàn)硬件級級的四層交交換負(fù)載均均衡,或采采用LVSS來實現(xiàn)軟軟件的四層層交換負(fù)載載均衡。通過第三方方軟件來實實現(xiàn)負(fù)載均均衡,同時時實現(xiàn)頁面面請求的緩緩存。通過Ngiinx實現(xiàn)現(xiàn)反向代理理服務(wù)器集集群,同時時搭建sqquid集集群以作為為靜態(tài)頁面面和圖片的的緩存。通過webb服務(wù)器的的配置來實實現(xiàn)負(fù)載均均衡即通過appachee或是Ngginx 將客戶請請求均衡的的分給toomcatt1,toomcatt2去處理理。WEB應(yīng)用用開發(fā)架構(gòu)思思路應(yīng)用開發(fā)實實現(xiàn)MVCC架構(gòu)三層層架構(gòu)進(jìn)行行

10、web應(yīng)應(yīng)用開發(fā)頁面盡可能能靜態(tài)化以以減少動態(tài)態(tài)數(shù)據(jù)訪問問,如果是是資訊類的的網(wǎng)站可以以考慮采用用第三方開開源的CMMS系統(tǒng)來來生成靜態(tài)態(tài)的內(nèi)容頁頁面。采用Osccachee實現(xiàn)頁面面緩存,采采用Memmcachhed實現(xiàn)現(xiàn)數(shù)據(jù)緩存存采用獨立的的圖片服務(wù)務(wù)器集群來來實現(xiàn)圖片片資源的存存儲及WEEB請求數(shù)據(jù)存儲的的設(shè)計思路路數(shù)據(jù)庫拆分分,把生產(chǎn)產(chǎn)數(shù)據(jù)庫和和查詢數(shù)據(jù)據(jù)庫分離,對對生產(chǎn)數(shù)據(jù)據(jù)庫采用RRAC實現(xiàn)現(xiàn)數(shù)據(jù)庫的的集群。采用高效的的網(wǎng)絡(luò)文件件共享策略略,采用圖圖片服務(wù)器器來實現(xiàn)頁頁面的圖片片存儲。不同網(wǎng)絡(luò)用用戶訪問考考慮通過引入CCDN來解解決不同網(wǎng)網(wǎng)絡(luò)服務(wù)商商的接入速速度問題,一一般只能解解

11、決靜態(tài)頁頁面的訪問問問題。在不同運營營商機(jī)房部部署服務(wù)器器,通過鏡鏡像技術(shù)來來實現(xiàn)不同同網(wǎng)絡(luò)服務(wù)務(wù)商的接入入速度問題題??傮w架構(gòu)網(wǎng)站的系統(tǒng)統(tǒng)分層架構(gòu)網(wǎng)站的物理理架構(gòu)網(wǎng)站的開發(fā)發(fā)架構(gòu)網(wǎng)絡(luò)拓?fù)浣Y(jié)結(jié)構(gòu)備注:采用雙防火火墻雙交換換機(jī)做網(wǎng)絡(luò)絡(luò)冗余,保保障平臺服服務(wù)采用雙防火火墻通知接接通2線路路互聯(lián)網(wǎng)接接入,設(shè)備備之間采用用VRRPP協(xié)議,在在任何一個個防火墻、互聯(lián)網(wǎng)發(fā)發(fā)生故障后后均可自動動將流量切切換到另一一端,保證證網(wǎng)站的正正運行,設(shè)設(shè)備或網(wǎng)絡(luò)絡(luò)恢復(fù)后,自自動恢復(fù)。采用雙千兆兆交換機(jī)分分別接在22臺防火墻墻上,當(dāng)某某臺設(shè)備或或者網(wǎng)絡(luò)鏈鏈路發(fā)生故故障后,好好設(shè)備自動動接管已壞壞設(shè)備的工工作,不影影響網(wǎng)

12、站的的整體運行行,根據(jù)業(yè)業(yè)務(wù)及真實實服務(wù)器的的數(shù)量,交交換機(jī)可以以隨時增加加。采用硬件設(shè)設(shè)備負(fù)載均均衡器,實實現(xiàn)網(wǎng)絡(luò)流流量的負(fù)載載均衡使用硬件設(shè)設(shè)備負(fù)載均均衡器,將將網(wǎng)絡(luò)流量量均衡的分分擔(dān)到WEEB服務(wù)器器集群各節(jié)節(jié)點服務(wù)器器,保障平平臺服務(wù)器器資源均衡衡的使用。采用代理服服務(wù)器,實實現(xiàn)軟件級級的網(wǎng)絡(luò)負(fù)負(fù)載均衡。數(shù)據(jù)庫服務(wù)務(wù)器分離成成生產(chǎn)數(shù)據(jù)據(jù)庫集群和和查詢數(shù)據(jù)據(jù)庫集群,實實現(xiàn)生產(chǎn)讀讀寫與后臺臺查詢統(tǒng)計計進(jìn)行分離離,同時生生產(chǎn)數(shù)據(jù)庫庫采用raac技術(shù)進(jìn)進(jìn)行架構(gòu)涉及技技術(shù)的詳解解負(fù)載均衡基于DNSS的負(fù)載均均衡-一一個域名綁綁定多個IIPDNS負(fù)載載均衡技術(shù)術(shù)是最早的的負(fù)載均衡衡解決方案案,它是

13、通通過DNSS服務(wù)中的的隨機(jī)名字字解析來實實現(xiàn)的,在在DNS服服務(wù)器中,可可以為多個個不同的地地址配置同同一個名字字,而最終終查詢這個個名字的客客戶機(jī)將在在解析這個個名字時得得到其中的的一個地址址。因此,對對于同一個個名字,不不同的客戶戶機(jī)會得到到不同的地地址,它們們也就訪問問不同地址址上的Weeb 服務(wù)務(wù)器,從而而達(dá)到負(fù)載載均衡的目目的。這種技術(shù)的的優(yōu)點是,實實現(xiàn)簡單、實施容易易、成本低低、適用于于大多數(shù)TTCP/IIP應(yīng)用;但是,其其缺點也非非常明顯,首首先這種方方案不是真真正意義上上的負(fù)載均均衡,DNNS 服務(wù)務(wù)器將Htttp請求求平均地分分配到后臺臺的Webb服務(wù)器上上,而不考考慮每個

14、WWeb服務(wù)務(wù)器當(dāng)前的的負(fù)載情況況;如果后后臺的Weeb服務(wù)器器的配置和和處理能力力不同,最最慢的 WWeb服務(wù)務(wù)器將成為為系統(tǒng)的瓶瓶頸,處理理能力強(qiáng)的的服務(wù)器不不能充分發(fā)發(fā)揮作用;其次未考考慮容錯,如如果后臺的的某臺Weeb服務(wù)器器出現(xiàn)故障障,DNSS服務(wù)器仍仍然會把DDNS 請請求分配到到這臺故障障服務(wù)器上上,導(dǎo)致不不能響應(yīng)客客戶端。最最后一點是是致命的,有有可能造成成相當(dāng)一部部分客戶不不能享受WWeb服務(wù)務(wù),并且由由于DNSS緩存的原原因,所造造成的后果果要持續(xù)相相當(dāng)長一段段時間(一一般DNSS的刷新周周期約為224小時)。所以在在國外最新新的建設(shè)中中心Webb站點方案案中,已經(jīng)經(jīng)很少采

15、用用這種方案案了。通過硬件四四層交換實實現(xiàn)負(fù)載均均衡在硬件四層層交換產(chǎn)品品領(lǐng)域,有有一些知名名的產(chǎn)品可可以選擇,比比如Altteon、F5等,這這些產(chǎn)品很很昂貴,但但是物有所所值,能夠夠提供非常常優(yōu)秀的性性能和很靈靈活的管理理能力。YYahooo中國當(dāng)初初接近20000臺服服務(wù)器使用用了三四臺臺Alteeon就搞搞定了通過軟件四四層交換實實現(xiàn)負(fù)載均均衡軟件四層交交換我們可可以使用LLinuxx上常用的的LVS來來解決,LLVS就是是Linuux Viirtuaal Seerverr,他提供供了基于心心跳線heeartbbeat的的實時災(zāi)難難應(yīng)對解決決方案,提提高系統(tǒng)的的魯棒性,同同時可供了了靈

16、活的虛虛擬VIPP配置和管管理功能,可可以同時滿滿足多種應(yīng)應(yīng)用需求,這這對于分布布式的系統(tǒng)統(tǒng)來說必不不可少。一個典型的的使用負(fù)載載均衡的策策略就是,在在軟件或者者硬件四層層交換的基基礎(chǔ)上搭建建squiid集群,這這種思路在在很多大型型網(wǎng)站包括括搜索引擎擎上被采用用,這樣的的架構(gòu)低成成本、高性性能還有很很強(qiáng)的擴(kuò)張張性。通過反向代代理服務(wù)器器實現(xiàn)負(fù)載載均衡反向代理服服務(wù)器又稱稱為 WEEB 加速速服務(wù)器,它它位于 WWEB 服服務(wù)器的前前端,充當(dāng)當(dāng)WEB服務(wù)務(wù)器的內(nèi)容容緩存器,反向代理理服務(wù)器是是針對 WWEB 服服務(wù)器設(shè)置置的,后臺臺 WEBB 服務(wù)器器對互聯(lián)網(wǎng)網(wǎng)用戶是透透明的,用用戶只能看看到

17、反向代代理服務(wù)器器的地址,不不清楚后臺臺 WEBB 服務(wù)器器是如何組組織架構(gòu)的的。當(dāng)互聯(lián)聯(lián)網(wǎng)用戶請請求 WEEB 服務(wù)務(wù)時,DNNS 將請請求的域名名解析為反反向代理服服務(wù)器的 IP 地地址,這樣樣 URLL 請求將將被發(fā)送到到反向代理理服務(wù)器,由由反向代理理服務(wù)器負(fù)負(fù)責(zé)處理用用戶的請求求與應(yīng)答、與后臺 WEB 服務(wù)器交交互。利用用反向代理理服務(wù)器減減輕了后臺臺 WEBB 服務(wù)器器的負(fù)載,提提高了訪問問速度,同同時避免了了因用戶直直接與 WWEB 服服務(wù)器通信信帶來的安安全隱患。目前有許多多反向代理理軟件,比比較有名的的有 Ngginx 和 Sqquid 。Nginxx 是由 Igorr Sy

18、ssoev 為俄羅斯斯訪問量第第二的 RRambller.rru 站點點開發(fā)的,是是一個高性性能的 HHTTP 和反向代代理服務(wù)器器,也是一一個 IMMAP/PPOP3/SMTPP 代理服服務(wù)器。Squidd是由美國國政府大力力資助的一一項研究計計劃,其目目的為解決決網(wǎng)絡(luò)帶寬寬不足的問問題,支持持HTTPP,HTTTPS,F(xiàn)FTP 等等多種協(xié)議議,是現(xiàn)在在 Uniix 系統(tǒng)統(tǒng)上使用、最多功能能也最完整整的一套軟軟體。Squidd Squidd 是一個個開源的軟軟件,利用用它的反向向代理技術(shù)術(shù)可以提高高網(wǎng)站系統(tǒng)統(tǒng)的訪問速速度,下面面將重點介介紹 Sqquid 反向代理理的實現(xiàn)原原理和在提提高網(wǎng)站

19、性性能方面的的應(yīng)用。Squidd反向代理理服務(wù)器位位于本地 WEB 服務(wù)器和和 Intterneet 之間間 , 組組織架構(gòu)如如下圖:客戶端請求求訪問 WWEB 服服務(wù)時,DDNS 將將訪問的域域名解析為為 Squuid 反反向代理服服務(wù)器的 IP 地地址,這樣樣客戶端的的 URLL 請求將將被發(fā)送到到反向代理理服務(wù)器。如果 SSquidd 反向代代理服務(wù)器器中緩存了了該請求的的資源,則則將該請求求的資源直直接返回給給客戶端,否否則反向代代理服務(wù)器器將向后臺臺的 WEEB 服務(wù)務(wù)器請求資資源,然后后將請求的的應(yīng)答返回回給客戶端端,同時也也將該應(yīng)答答緩存在本本地,供下下一個請求求者使用。Squi

20、dd 反向代代理一般只只緩存可緩緩沖的數(shù)據(jù)據(jù)(比如 htmll 網(wǎng)頁和和圖片等),而而一些 CCGI 腳腳本程序或或者 ASSP、JSSP 之類類的動態(tài)程程序默認(rèn)不不緩存。它它根據(jù)從 WEB 服務(wù)器返返回的 HHTTP 頭標(biāo)記來來緩沖靜態(tài)態(tài)頁面, 有四個個最重要 HTTPP 頭標(biāo)記記:Last-Modiifiedd: 告訴訴反向代理理頁面什么么時間被修修改Expirres: 告訴反向向代理頁面面什么時間間應(yīng)該從緩緩沖區(qū)中刪刪除Cachee-Conntroll: 告訴訴反向代理理頁面是否否應(yīng)該被緩緩沖Pragmma: 用用來包含實實現(xiàn)特定的的指令,最最常用的是是 Praagma:no-ccach

21、ee 注:DNSS 的輪詢機(jī)制制將某一個個域名解析析為 多個個IP地址址。NginxxNginxx (“engiine xx”) 是俄俄羅斯人IIgor Sysooev(塞塞索耶夫)編寫的一一款高性能能的 HTTTP 和和反向代理理服務(wù)器。Nginxx 已經(jīng)在在俄羅斯最最大的門戶戶網(wǎng)站 Rammblerr Meddia(wwww.rrambller.rru)上運運行了4年年時間,同同時俄羅斯斯超過200%的虛擬擬主機(jī)平臺臺采用Ngginx作作為反向代代理服務(wù)器器。在國內(nèi),已已經(jīng)有新浪浪博客、新新浪播客、搜狐通行行證、網(wǎng)易易新聞、網(wǎng)網(wǎng)易博客、金山逍遙遙網(wǎng)、金山山愛詞霸、校內(nèi)網(wǎng)、YUPOOO相冊、

22、豆瓣、迅迅雷看看等等多家網(wǎng)站站、頻道使使用 Ngginx 服務(wù)器。Nginxx 特點如如下:工作在OSSI模型的的第7層(應(yīng)用層)高并發(fā)連接接官方測試能能夠支撐55萬并發(fā)連連接,在實實際生產(chǎn)環(huán)環(huán)境中跑到到23萬萬并發(fā)連接接數(shù)。 內(nèi)存消耗少少在3萬并發(fā)發(fā)連接下,開開啟的100個Ngiinx 進(jìn)進(jìn)程才消耗耗150MM內(nèi)存(115M*110=1550M)。 配置文件非非常簡單風(fēng)格跟程序序一樣通俗俗易懂。 成本低廉Nginxx為開源軟軟件,可以以免費使用用。而購買買F5 BBIG-IIP、NeetScaaler等等硬件負(fù)載載均衡交換換機(jī)則需要要十多萬至至幾十萬人人民幣。 支持Rewwritee重寫規(guī)則

23、則能夠根據(jù)域域名、URRL的不同同,將 HHTTP 請求分到到不同的后后端服務(wù)器器群組。 內(nèi)置的健康康檢查功能能如果 Ngginx Proxxy 后端端的某臺 Web 服務(wù)器宕宕機(jī)了,不不會影響前前端訪問。 節(jié)省帶寬支持 GZZIP 壓壓縮,可以以添加瀏覽覽器本地緩緩存的 HHeadeer 頭。 穩(wěn)定性高用于反向代代理,宕機(jī)機(jī)的概率微微乎其微。 Nginxx+squiid頁面緩存來實現(xiàn)現(xiàn)反向代理理負(fù)載均衡衡通過Ngiinx反向向代理和ssquidd緩存實現(xiàn)現(xiàn)動靜分離離的架構(gòu)圖如下下所示:Apachhe +tommcat集集群實現(xiàn)負(fù)載均均衡。使用 appachee和多個ttomcaat 配置置一

24、個可以以應(yīng)用的wweb網(wǎng)站站,用Appachee進(jìn)行分流流,把請求求按照權(quán)重重以及當(dāng)時時負(fù)荷分ttomcaat1,ttomcaat2去處理理,要達(dá)到到以下要求求:Apachhe 做為為HttppServver ,通通過modd_jk連連接器連接接多個 ttomcaat 應(yīng)用用實例,并并進(jìn)行負(fù)載載均衡。同時還要配配置sesssionn復(fù)制,也也就是說其其中任何一一個tommcat的的添加的ssessiion,是是要同步復(fù)復(fù)制到其它它tomccat, 集群內(nèi)的的tomccat都有有相同的ssessiion,并并為系統(tǒng)(包包括 Appachee 和 ttomcaat)設(shè)定定 Sesssionn 超時

25、時時間。緩存系統(tǒng)架構(gòu)方方面的緩存存Squidd緩存架構(gòu)方面面使用Sqquid進(jìn)進(jìn)行緩存。注:SQUUID使用用了LM算算法,LMM就是頁面面Headder里時時間(Daate)和和Lastt-Moddifieed時間的的差。Daate一般般是Squuid從后后面取頁面面的時間,LLast-Modiifiedd 一般是是頁面生成成時間。Nginxx的緩存功功能Nginxx從0.77.48版版本開始,支支持了類似似Squiid的緩存存功能;緩存把URRL及相關(guān)關(guān)組合當(dāng)作作Key,用用md5編編碼哈希后后保存;Nginxx的Webb緩存服務(wù)務(wù)只能為指指定URLL或狀態(tài)碼碼設(shè)置過期期時間,不不支持類似

26、似Squiid的PUURGE指指令,手動動清除指定定緩存頁面面;采用MMAAP實現(xiàn),設(shè)設(shè)置的緩存存區(qū)大小不不能超過物物理內(nèi)存+SWEBB的值基于memm HYPERLINK /tag/cache/ cachhed的緩緩存nginxx對 HYPERLINK /tag/memcache/ memmcachhed有所所支持,但但是功能并并不是特別別之強(qiáng),性性能上還是是非常之優(yōu)優(yōu)秀。locattion /memm/ iif ( $urii /meem/(0-9AA-Za-z_*)$ ) sset $memccacheed_keey $1; memccacheed_paass 1192.1168.11.

27、2:1112111; exxpirees 700;這個配置會會將htttp:/sudoone.ccom/mmem/aabc指明明到memmcachhed的aabc這個個key去去取數(shù)據(jù)。Nginxx目前沒有有寫入meemcacched的的任何機(jī)制制,所以要要往memmcachhed里寫寫入數(shù)據(jù)得得用后臺的的動態(tài)語言言完成,可可以利用4404定向向到后端去去寫入數(shù)據(jù)據(jù)。Nginxx傳統(tǒng)緩存存的缺點也也是它和ssquidd等緩存軟軟件的不同同之特色,所所以也可看看作其優(yōu)點點。在生產(chǎn)產(chǎn)應(yīng)用中它它常常用作作和squuid的搭搭檔,sqquid對對于帶?的的鏈接往往往無法阻擋擋,而ngginx能能將其訪

28、問問攔住,例例如:htttp:/?和htttp:/在squuid上會會被當(dāng)做兩兩個鏈接,所所以會造成成兩次穿透透;而ngginx只只會保存一一次,無論論鏈接變成成httpp:/ssudonne.coom/?11還是htttp:/?1233,均不能能透過ngginx緩緩存,從而而有效地保保護(hù)了后端端主機(jī)。nginxx會非常老老實地將鏈鏈接形式保保存到文件件系統(tǒng)中,這這樣對于一一個鏈接,可可以很方便便地查閱它它在緩存機(jī)機(jī)器上的緩緩存狀態(tài)和和內(nèi)容,也也可以很方方便地和別別的文件管管理器如rrsyncc等配合使使用,它完完完全全就就是一個文文件系統(tǒng)結(jié)結(jié)構(gòu)。應(yīng)用程序方方面的緩存存OSCaccheOSCa

29、cche由OOpenSSymphhony設(shè)設(shè)計,它是是一種開創(chuàng)創(chuàng)性的JSSP定制標(biāo)標(biāo)記應(yīng)用,提提供了在現(xiàn)現(xiàn)有JSPP頁面之內(nèi)內(nèi)實現(xiàn)快速速內(nèi)存緩沖沖的功能,OSCache是個一個廣泛采用的高性能的J2EE緩存框架,OSCache能用于任何Java應(yīng)用程序的普通的緩存解決方案。OSCache有以下特點:緩存任何對象,你可以不受限制的緩存部分jsp頁面或HTTP請求,任何java對象都可以緩存。擁有全面的API-OSCache API給你全面的程序來控制所有的OSCache特性。永久緩存-緩存能隨意的寫入硬盤,因此允許昂貴的創(chuàng)建(expensive-to-create)數(shù)據(jù)來保持緩存,甚至能讓應(yīng)用重

30、啟。支持集群-集群緩存數(shù)據(jù)能被單個的進(jìn)行參數(shù)配置,不需要修改代碼。緩存記錄的過期-你可以有最大限度的控制緩存對象的過期,包括可插入式的刷新策略(如果默認(rèn)性能不需要時)。OSCacche是當(dāng)當(dāng)前運用最最廣的緩存存方案,JJBosss,Hibbernaate,SSprinng等都對對其有支持持。OSCacche的特特點:1) 緩存存任何對象象:你可以以不受限制制的緩存部部分jspp頁面或HHTTP請請求,任何何javaa對象都可可以緩存。 2) 擁有有全面的AAPI:OOSCacche AAPI允許許你通過編編程的方式式來控制所所有的OSSCachhe特性。 3) 永久久緩存:緩緩存能被配配置寫入

31、硬硬盤,因此此允許在應(yīng)應(yīng)用服務(wù)器器的多次生生命周期間間緩存創(chuàng)建建開銷昂貴貴的數(shù)據(jù)。 4) 支持持集群:集集群緩存數(shù)數(shù)據(jù)能被單單個的進(jìn)行行參數(shù)配置置,不需要要修改代碼碼。 5) 緩存存過期:你你可以有最最大限度的的控制緩存存對象的過過期,包括括可插入式式的刷新策策略(如果果默認(rèn)性能能不能滿足足需要時)。Memcaacheddmemcaachedd是高性能能的分布式式內(nèi)存緩存存服務(wù)器。一般的使使用目的是是,通過緩緩存數(shù)據(jù)庫庫查詢結(jié)果果,減少數(shù)數(shù)據(jù)庫訪問問次數(shù),以以提高動態(tài)態(tài)Web應(yīng)應(yīng)用的速度度、 提高高可擴(kuò)展性性。Memcaachedd是以Keey/Vaalue的的形式單個個對象緩存存。自主開發(fā)的

32、的內(nèi)存數(shù)據(jù)緩緩存服務(wù)獨立進(jìn)程方方式的緩存存服務(wù)對于一些常常用的動態(tài)態(tài)數(shù)據(jù)通過過開發(fā)程序序服務(wù)緩存存在內(nèi)存中中,提供給給其他子系系統(tǒng)調(diào)用,如如下面的數(shù)數(shù)據(jù)就可以以通過這樣樣方式進(jìn)行行緩存。用戶基本信信息及狀態(tài)態(tài)的信息緩緩沖列表緩存,就就像論壇里里帖子的列列表記錄條數(shù)的的緩存,比比如一個論論壇板塊里里有多少個個帖子,這這樣才方便便實現(xiàn)分頁頁。復(fù)雜一點的的grouup,suum,coount查查詢,比如如積分的分分類排名集成在WEEB應(yīng)用中中的內(nèi)存緩緩存在web應(yīng)應(yīng)用中對于于熱點的功功能,考慮慮使用完全全裝載到內(nèi)內(nèi)存,保證證絕對的響響應(yīng)速度,對對于需要頻頻繁訪問的的熱點數(shù)據(jù)據(jù),采用集集中緩存(多個可

33、以以采用負(fù)載載均衡),減減輕數(shù)據(jù)庫庫的壓力,比比如:很多多配置信息息,操作員員信息等等等。頁面靜態(tài)化化靜態(tài)的HTTML頁面面嚴(yán)格地由由標(biāo)準(zhǔn)的HHTML標(biāo)標(biāo)示語言構(gòu)構(gòu)成,并不不需要服務(wù)務(wù)器端即時時運算生成成。這意味味著,對一一個靜態(tài)HHTML文文檔發(fā)出訪訪問請求后后,服務(wù)器器端只是簡簡單地將該該文檔傳輸輸?shù)娇蛻舳硕?。從服?wù)務(wù)器運行的的那個時間間片來看,這這個傳輸過過程僅僅占占用了很小小的CPUU資源。頁面靜態(tài)化化就是采用用效率最高高、消耗最最小的純靜靜態(tài)化的hhtml頁頁面來替換換動態(tài)頁面面。我們盡盡可能使我我們的網(wǎng)站站上的頁面面采用靜態(tài)態(tài)頁面來實實現(xiàn),這個個最簡單的的方法其實實也是最有有效的方

34、法法。同時采用第第三方開源源的CMSS系統(tǒng)來實實現(xiàn)網(wǎng)站內(nèi)內(nèi)容的管理理。對于大大量內(nèi)容并并且頻繁更更新的網(wǎng)站站,我們無無法全部手手動去挨個個實現(xiàn)頁面面靜態(tài)化,所以我們們需要引入入常見的信信息發(fā)布系系統(tǒng)(CMS),信息發(fā)發(fā)布系統(tǒng)(CMS)可以實現(xiàn)現(xiàn)最簡單的的信息錄入入自動生成成靜態(tài)頁面面,對于一個個大型網(wǎng)站站來說,擁擁有一套高高效、可管管理的CMMS是必不不可少的。同時,HTTML靜態(tài)態(tài)化也是某某些緩存策策略使用的的手段,對對于系統(tǒng)中中頻繁使用用數(shù)據(jù)庫查查詢但是內(nèi)內(nèi)容更新很很小的應(yīng)用用,可以考考慮使用HHTML靜靜態(tài)化來實實現(xiàn),比如如論壇中論論壇的公用用設(shè)置信息息,這些信信息目前的的主流論壇壇都可

35、以進(jìn)進(jìn)行后臺管管理并且 HYPERLINK / o 存儲 存存儲再數(shù)據(jù)據(jù)庫中,這這些信息其其實大量被被前臺程序序調(diào)用,但但是更新頻頻率很小,可可以考慮將將這部分內(nèi)內(nèi)容進(jìn)行后后臺更新的的時候進(jìn)行行靜態(tài)化,這這樣避免了了大量的數(shù)數(shù)據(jù)庫訪問問請求。在進(jìn)行httml靜態(tài)態(tài)化的時候候還可以使用用一種折中中的方法,就就是前端繼繼續(xù)使用動動態(tài)實現(xiàn),在在一定的策策略下通過過后臺模塊塊進(jìn)行定時時把動態(tài)網(wǎng)網(wǎng)頁生成靜靜態(tài)頁面,并并定時判斷斷調(diào)用,這這個能實現(xiàn)現(xiàn)很多靈活活性的操作作。為了提高靜靜態(tài)HTMML的訪問問效率,主主要可以對對以下幾個個方面進(jìn)行行優(yōu)化:網(wǎng)網(wǎng)絡(luò)帶寬、磁盤I/O以及ccachee(高速緩緩沖存儲器

36、器)。數(shù)據(jù)庫配置置及優(yōu)化數(shù)據(jù)庫集群群對生產(chǎn)數(shù)數(shù)據(jù)庫采用用RAC實實現(xiàn)數(shù)據(jù)庫庫的集群。數(shù)據(jù)庫及表表的散列把生產(chǎn)數(shù)據(jù)據(jù)庫和查詢詢數(shù)據(jù)庫進(jìn)進(jìn)行分離,針針對系統(tǒng)業(yè)業(yè)務(wù)數(shù)據(jù)的的特點,把把大的表進(jìn)進(jìn)行拆分,對對于訪問較較多的表采采用分區(qū)表表。使用讀/寫寫數(shù)據(jù)庫分分離,隨著著系統(tǒng)變得得越來越龐龐大,特別別是當(dāng)它們們擁有 很很差的SQQL時,一一臺數(shù)據(jù)庫庫服務(wù)器通通常不足以以處理負(fù)載載。但是多多個數(shù)據(jù)庫庫意味著重重復(fù),除非非你對數(shù)據(jù)據(jù)進(jìn)行了分分離。更一一般地,這這意味著建建立主/從從副本系統(tǒng)統(tǒng),其中 程序會對對主庫編寫寫所有的UUpdatte、Innsertt和Dellete變變更語句,而而所有Seelect

37、t的數(shù)據(jù)都都讀取自從從數(shù)據(jù)庫(或或者多個從從數(shù)據(jù)庫)。盡管概念上上很簡單,但但是想要合合理、精確確地實 現(xiàn)現(xiàn)并不容易易,這可能能需要大量量的代碼工工作。因此此,即便在在開始時使使用同一臺臺數(shù)據(jù)庫服服務(wù)器,也也要盡早計計劃在PHHP中使用用分離的DDB連接來來進(jìn)行讀寫寫操作。如如果正確 地完成該該項工作,那那么系統(tǒng)就就可以擴(kuò)展展到2臺、3臺甚至至12臺服服務(wù)器,并并具備高可可用性和穩(wěn)穩(wěn)定性。擁有良好的的DB配置置和備份很多公司都都沒有良好好的備份機(jī)機(jī)制,也不不知道如 何恰當(dāng)?shù)氐赝瓿蛇@項項工作。只只有impp是不夠的的,還需要要進(jìn)行熱備備份,從而而得到超快快的速度和和超高的可可靠性。另外,在將將所

38、有備份份文件從服服務(wù)器上轉(zhuǎn)轉(zhuǎn)移出來之之前要進(jìn)行行壓縮和加加密。另外外還要確保保擁有設(shè)計計合理的、有用的關(guān)關(guān)于安全、性能和穩(wěn)穩(wěn)定性問題題的設(shè)定,包包括防止數(shù)數(shù)據(jù)敗壞,其其中很多設(shè)設(shè)定都是非非常重要的的。文件存儲文件共享HDFS(GGFS)HDFS是是Apacche HHadooop項目中中的一個分分布式文件件系統(tǒng)實現(xiàn)現(xiàn),基于GGooglle于20003年110月發(fā)表表的Gooogle Filee Sysstem(GFS)論文。特性硬件要求低低高容錯性易可擴(kuò)展配置簡單超大文件HDFS采采用masster/slavve架構(gòu)。一個HDDFS集群群是由一個個Nameenodee和一定數(shù)數(shù)目的Daatan

39、oodes組組成。NFS與GGFS比較較首先從它們們的功能上上進(jìn)行分析析。NFSS即網(wǎng)絡(luò)文文件系統(tǒng),是是由SUNN公司開發(fā)發(fā)的。它是是FreeeBSD支支持的文件件系統(tǒng)中的的一種,允允許一個系系統(tǒng)在網(wǎng)絡(luò)絡(luò)上與它人人共享目錄錄和文件。通過使用用NFS,用用戶和程序序訪問遠(yuǎn)端端系統(tǒng)上的的文件就像像訪問本地地文件一樣樣。而GFS是是Googgle為了了滿足本公公司迅速增增長的數(shù)據(jù)據(jù)處理要求求而開發(fā)的的文件系統(tǒng)統(tǒng)。GFSS是一個可可擴(kuò)展的分分布式文件件系統(tǒng),用用于大型的的、分布式式的、對大大量數(shù)據(jù)進(jìn)進(jìn)行訪問的的應(yīng)用。它它是針對GGooglle的計算算機(jī)集群進(jìn)進(jìn)行設(shè)計的的,專門是是為Gooogle頁頁面

40、搜索的的存儲進(jìn)行行了優(yōu)化。所以從功能能上看,它它們兩者是是完全不同同的概念。其次從結(jié)構(gòu)構(gòu)上比較,NNFS至少少包括兩個個主要部分分:一臺服服務(wù)器,以以及至少一一臺客戶機(jī)機(jī)。被共享享的目錄和和文件存放放在服務(wù)器器上,客戶戶機(jī)遠(yuǎn)程地地訪問保存存在服務(wù)器器上的數(shù)據(jù)據(jù)。GFS則由由一臺Maasterr(通常有有幾臺備份份)和若干干臺TruunkSeerverr構(gòu)成。GGFS中文文件備份成成固定大小小的Truunk分別別存儲在不不同的 TTrunkkServver上,每每個Truunk有多多份(比如如3)拷貝貝,也存儲儲在不同的的TrunnkSerrver上上。Masster負(fù)負(fù)責(zé)維護(hù)GGFS中的的 M

41、ettadatta,即文文件名及其其Trunnk信息。客戶端先先從Masster上上得到文件件的Mettadatta,根據(jù)據(jù)要讀取的的數(shù)據(jù)在文文件中的位位置與相應(yīng)應(yīng)的 TrrunkSServeer通信,獲獲取文件數(shù)數(shù)據(jù)。再從跨平臺臺性上,NNFS的基基本原則是是“容許不同同的客戶端端及服務(wù)端端通過一組組RPCss分享相同同的文件系系統(tǒng)”,它是獨獨立于操作作系統(tǒng)的,容容許不同的的操作系統(tǒng)統(tǒng)共同地進(jìn)進(jìn)行文件的的共享。而GFS則則沒有這一一特點,文文件只能被被集群系統(tǒng)統(tǒng)中的PCC所訪問,而而且這些PPC的操作作系統(tǒng)一般般是Linnux。最后從規(guī)模模上比較,HDFS只應(yīng)用在大批量的數(shù)據(jù)共享上。目前Go

42、ogle擁有超過200個的GFS集群,其中有些集群的PC數(shù)量超過5000臺。集群的數(shù)據(jù)存儲規(guī)模可以達(dá)到5個PB,并且集群中的數(shù)據(jù)讀寫吞吐量可達(dá)到每秒40G。而NFS一一般沒有這這么巨大的的規(guī)模。文件的多服服務(wù)器自動動同步使用Liinux 2.6內(nèi)內(nèi)核的innotiffy監(jiān)控LLinuxx文件系統(tǒng)統(tǒng)事件。利用開源源的lsyync監(jiān)聽聽某一目錄錄,如果目目錄內(nèi)文件件發(fā)生增、刪、改,利利用Rsyync協(xié)議議自動同步步到多臺服服務(wù)器。圖片服務(wù)器器分離特別是如如果程序與與圖片都放放在同一個個 APAAHCE 的服務(wù)器器下,每一一個圖片的的請求都有有可能導(dǎo)致致一個 HHTTPDD 進(jìn)程的的調(diào)用。使用獨立的

43、的圖片服務(wù)務(wù)器不但可可以避免以以上這個情情況,更可可以對不同同的使用性性質(zhì)的圖片片設(shè)置不同同的過期時時間,以便便同一個用用戶在不同同頁面訪問問相同圖片片時不會再再次從服務(wù)務(wù)器(基于于是緩存服服務(wù)器)取取數(shù)據(jù),不不但快速,而而且還省了了帶寬。還還有就是,對對于緩存的的時間上,亦亦可以做獨獨立的調(diào)節(jié)節(jié)。網(wǎng)絡(luò)問題解解決方案你不可能要要求所有的的使用人員員,都和你你的服務(wù)器器在一個運運營商的網(wǎng)網(wǎng)絡(luò)內(nèi),而而不同網(wǎng)絡(luò)絡(luò)之間訪問問速度會很很慢,我們可以以采用鏡像像網(wǎng)站和引引入CDNN來解決這這一問題。智能DNSS解析我們可以在在不同的網(wǎng)網(wǎng)絡(luò)運營商商部署weeb服務(wù)器器,通過llinuxx上的rssync工工

44、具自動同同步到不同同網(wǎng)絡(luò)接入入商的weeb服務(wù)器器上,以作為為主站的鏡鏡像。然后通過配配置智能DDNS解析析來引導(dǎo)不不同網(wǎng)絡(luò)的的訪問用戶戶到對應(yīng)的的網(wǎng)絡(luò)運營營商的weeb服務(wù)器器。CDN如果有足夠夠的投資,也可以采用CDN(內(nèi)容分發(fā)網(wǎng)),把靜態(tài)內(nèi)容(靜態(tài)頁面和圖片)進(jìn)行CDN緩存,以減輕服務(wù)器壓力。CDN的全全稱是Coontennt Deeliveery NNetwoork,即即內(nèi)容分發(fā)發(fā)網(wǎng)絡(luò)。它它采取了分分布式網(wǎng)絡(luò)絡(luò)緩存結(jié)構(gòu)構(gòu)(即國際際上流行的的web cachhe技術(shù)),其目的是通過在現(xiàn)有的Internet中增加一層新的網(wǎng)絡(luò)架構(gòu),將網(wǎng)站的內(nèi)容發(fā)布到最接近用戶的網(wǎng)絡(luò)邊緣,使用戶可以就近取得所

45、需的內(nèi)容,解決 Internet網(wǎng)絡(luò)擁擠的狀況,提高用戶訪問網(wǎng)站的響應(yīng)速度。從技術(shù)上全面解決由于網(wǎng)絡(luò)帶寬小、用戶訪問量大、網(wǎng)點分布不均等原因所造成的用戶訪問網(wǎng)站響應(yīng)速度慢的問題。 (也就是一個服務(wù)器的內(nèi)容,平均分部到多個服務(wù)器上,服務(wù)器智能識別,讓用戶獲取離用戶最近的服務(wù)器,提高速度。目前,國內(nèi)內(nèi)訪問量較較高的大型型網(wǎng)站如新新浪、網(wǎng)易易等,均使使用CDNN網(wǎng)絡(luò)加速速技術(shù),雖雖然網(wǎng)站的的訪問巨大大,但無論論在什么地地方訪問都都會感覺速速度很快。而一般的的網(wǎng)站如果果服務(wù)器在在網(wǎng)通,電電信用戶訪訪問很慢,如如果服務(wù)器器在電信,網(wǎng)網(wǎng)通用戶訪訪問又很慢慢。WEB應(yīng)用用開發(fā)架構(gòu)設(shè)設(shè)計思路基于MVCC的三層

46、應(yīng)應(yīng)用開發(fā)架架構(gòu)應(yīng)用開發(fā)實實現(xiàn)MVCC三層架構(gòu)構(gòu)進(jìn)行weeb應(yīng)用開開發(fā),采用用ibattis作為為持久層框框架,c33p0作為為數(shù)據(jù)庫連連接池。iBATIIS 是一一個可以設(shè)設(shè)計和實現(xiàn)現(xiàn)更好的 Javaa 應(yīng)用程程序持久化化層的框架架。iBAATIS 把對象和和存儲過程程或者使用用 XMLL 描述符符的 SQQL 語句句進(jìn)行了關(guān)關(guān)聯(lián)。簡單單是 iBBATISS 最大的的優(yōu)勢ibatiis-使用用ibattis的十十個理由1. 至少少能操作110種以上上的數(shù)據(jù)庫庫2. 可可配置的ccachiing(包包括從屬)3. 支支持DattaSouurce、locaal trransaactioon ma

47、anageemen和和globbal ttranssactiion4. 簡單的的XML配配置文檔55. 支持持Map, Colllecttion, Lisst和簡單單類型包裝裝(如Inntegeer, SStrinng)6. 支持JJavaBBeanss類(geet/seet 方法法)7. 支持復(fù)雜雜的對象映映射(如ppopullatinng liists, commplexx objject modeels)88. 對象象模型從不不完美(不不需要修改改)9. 數(shù)據(jù)模型型從不完美美(不需要要修改)110. 你你已經(jīng)知道道SQL,為為什么還要要學(xué)習(xí)其他他東西MVC架構(gòu)構(gòu)示意Strutts架構(gòu)客戶

48、端發(fā)送送一個HTTTP請求求,通過SStrutts框架最最后獲得一一個HTTTP響應(yīng),這這一過程非非常重要,它它是理解SStrutts框架的的重點。上上圖描述了了Struuts框架架的結(jié)構(gòu),而而下圖通過過一個活動動圖更具體體描述接受受請求直至至返回響應(yīng)應(yīng)的整個過過程:面向服務(wù)的的應(yīng)用架構(gòu)構(gòu)面向服務(wù)的的應(yīng)用架構(gòu)構(gòu)是指構(gòu)建建可分布式式的、去中中心化的服服務(wù)器平臺臺,以提供許多多不同的應(yīng)應(yīng)用,數(shù)據(jù)庫被分分成很多個個小部分,圍圍繞每個部部分都會創(chuàng)創(chuàng)建一個服服務(wù)接口(API),并且該該接口是訪訪問數(shù)據(jù)庫庫的唯一途途徑。最終終數(shù)據(jù)庫演演變成一個個非常龐大大的共享資資源。這種架構(gòu)是是松散耦合合的,并且且圍繞

49、著服服務(wù)進(jìn)行構(gòu)構(gòu)建。面向向服務(wù)的架架構(gòu)提供給給他們隔離離特性,一一個服務(wù)可可能有很多多臺數(shù)據(jù)庫庫服務(wù)器,他他們之間的的數(shù)據(jù)是相相通的,而而對外他們們的接口只只有一個,外外面是無法法知道這個個服務(wù)后面面的數(shù)據(jù)組組織是如何何搭建的。這樣就有了了越來越多多的應(yīng)用服服務(wù)器。這這些應(yīng)用服服務(wù)器從數(shù)數(shù)據(jù)眾多的的服務(wù)(每每個服務(wù)背背后都有數(shù)數(shù)據(jù)庫或集集群數(shù)據(jù)庫庫)中聚合合信息,然然后生成我我們所看到到的A的的各個網(wǎng)站站頁面。這樣各種服服務(wù)如插件件一樣組成成了一個開開放的平臺臺,這樣團(tuán)隊的規(guī)模就會比比較小,比比較靈活。注Amazzon就是是采用了這這種架構(gòu)來來構(gòu) 建的的,它擁有有上千臺服服務(wù)器。系統(tǒng)軟件參參數(shù)

50、優(yōu)化在一定的架架構(gòu)基礎(chǔ)上上,要提高高并發(fā)處理理能力則需需要調(diào)整服服務(wù)器的操操作系統(tǒng)內(nèi)內(nèi)核參數(shù)、web服服務(wù)器(ttomcaat的參數(shù)數(shù)、apaache的的參數(shù)、NNginxx的參數(shù)),以以使其性能能達(dá)到最優(yōu)優(yōu)化。操作系統(tǒng)優(yōu)優(yōu)化調(diào)整系統(tǒng)的的內(nèi)核參數(shù)數(shù),增大連連接數(shù)及TTCP/IIP的超時時設(shè)置。Linuxx系統(tǒng)中:在/etcc/syssctl.conff配置文件件中增加如如下內(nèi)核參參數(shù):net.iipv4.tcp_synccookiies = 1net.iipv4.tcp_tw_rreusee = 11net.iipv4.tcp_tw_rrecyccle = 1net.iipv4.tcp_fin

51、_timeeout = 5tomcaat服務(wù)器器優(yōu)化增大并發(fā)連連接數(shù),調(diào)調(diào)整內(nèi)存參參數(shù)的設(shè)置置。1、JDKK內(nèi)存優(yōu)化化:當(dāng)應(yīng)用程序序需要的內(nèi)內(nèi)存超出堆堆的最大值值時虛擬機(jī)機(jī)就會提示示內(nèi)存溢出出,并且導(dǎo)導(dǎo)致應(yīng)用服服務(wù)崩潰。因此一般般建議堆的的最大值設(shè)設(shè)置為可用用內(nèi)存的最最大值的880%。 Tomccat默認(rèn)認(rèn)可以使用用的內(nèi)存為為128MMB,在較較大型的應(yīng)應(yīng)用項目中中,這點內(nèi)內(nèi)存是不夠夠的,需要要調(diào)大.Tomcaat默認(rèn)可可以使用的的內(nèi)存為1128MBB,Winndowss下,在文文件/biin/caataliina.bbat,UUnix下下,在文件件/binn/cattalinna.shh的前

52、面,增增加如下設(shè)設(shè)置: JJAVA_OPTSS=-XXms【初初始化內(nèi)存存大小】 -Xmxx【可以使使用的最大大內(nèi)存】 需要把把這個兩個個參數(shù)值調(diào)調(diào)大。例如如: JAAVA_OOPTS=-Xmms2566m -XXmx5112m 表示初始始化內(nèi)存為為256MMB,可以以使用的最最大內(nèi)存為為512MMB。2、連接器器優(yōu)化: 在tommcat配配置文件sserveer.xmml中的配配置中,和和連接數(shù)相相關(guān)的參數(shù)數(shù)有:maxThhreadds: TTomcaat使用線線程來處理理接收的每每個請求。這個值表表示Tommcat可可創(chuàng)建的最最大的線程程數(shù)。默認(rèn)認(rèn)值1500。accepptCouunt:

53、指定當(dāng)所所有可以使使用的處理理請求的線線程數(shù)都被被使用時,可可以放到處處理隊列中中的請求數(shù)數(shù),超過這這個數(shù)的請請求將不予予處理。默默認(rèn)值100。minSppareTThreaads: Tomccat初始始化時創(chuàng)建建的線程數(shù)數(shù)。默認(rèn)值值25。maxSppareTThreaads: 一旦創(chuàng)建建的線程超超過這個值值,Tommcat就就會關(guān)閉不不再需要的的sockket線程程。默認(rèn)值值75。enablleLoookupss: 是否否反查域名名,默認(rèn)值值為truue。為了了提高處理理能力,應(yīng)應(yīng)設(shè)置為ffalseeconnnnectiionTiimeouut: 網(wǎng)網(wǎng)絡(luò)連接超超時,默認(rèn)認(rèn)值600000,單單

54、位:毫秒秒。設(shè)置為為0表示永永不超時,這這樣設(shè)置有有隱患的。通常可設(shè)設(shè)置為300000毫毫秒。maxKeeepAlliveRRequeests: 保持請請求數(shù)量,默默認(rèn)值1000。 bbuffeerSizze: 輸輸入流緩沖沖大小,默默認(rèn)值20048 prressiion: 壓縮傳輸輸,取值oon/offf/foorce,默默認(rèn)值offf。 其其中和最大大連接數(shù)相相關(guān)的參數(shù)數(shù)為maxxThreeads和和acceeptCoount。如果要加加大并發(fā)連連接數(shù),應(yīng)應(yīng)同時加大大這兩個參參數(shù)。web sserveer允許的的最大連接接數(shù)還受制制于*作系系統(tǒng)的內(nèi)核核參數(shù)設(shè)置置,通常

55、WWindoows是22000個個左右,LLinuxx是10000個左右右。apachhe服務(wù)器器優(yōu)化加大并發(fā)數(shù)數(shù)量和關(guān)閉閉不需要的的模塊。因因為apaache非非常消耗內(nèi)內(nèi)存,盡量量輕量化。Apachhe在配置置ConttentTType的的時候可以以盡量少支支持,盡可可能少的LLoadMModulle,保證證更高的系系統(tǒng)消耗和和執(zhí)行效率率同時配置aapache和和tomccat的組組合使之能能作到動靜靜分離,aapachhe處理靜靜態(tài)頁面,ttomcaat處理動動態(tài)頁面。在處理靜態(tài)態(tài)頁面或者者圖片、jjs等訪問問方面,可可以考慮使使用 HYPERLINK ligghttppd代替AApac

56、hhe,它提提供了更輕輕量級和更更高效的處處理能力Nginxx服務(wù)器的的優(yōu)化workeer_prrocessses:該參數(shù)的的值最好跟跟cpu核核數(shù)相等,能能夠發(fā)揮最最大性能,如如果ngiinx所在在服務(wù)器為為2顆雙核核cpu,則則建議設(shè)定定為4。Web服務(wù)務(wù)架構(gòu)評測測主要對基于于tomccat和nnginxx+tommcat的的web服服務(wù)器的處處理性能進(jìn)進(jìn)行測試,以以作為不同同性能要求求下架構(gòu)選選型的依據(jù)據(jù)測試環(huán)境網(wǎng)絡(luò)環(huán)境內(nèi)網(wǎng)帶寬千M內(nèi)網(wǎng)。內(nèi)網(wǎng)pinng包延遲遲:15082秒129866條/秒106萬從第82秒秒開始,ttomcaat占用內(nèi)內(nèi)存1.11g,但CCPU資源源被tommcat耗

57、耗盡,服務(wù)務(wù)器負(fù)載急急劇升高,ttop顯示示已達(dá)1550,服務(wù)務(wù)器停止響響應(yīng)客戶端端請求,客客戶端請求求速度急劇劇下降,錯錯包率1000%,測測試被迫中中斷。22500200萬25毫秒Test111.7G6%,且且仍在增加加,測試終終止。toomcatt拋出“javaa.lanng.OuutOfMMemorryErrror: GC ooverhhead limiit exxceedded “異常。Test22293秒4123條條/秒120萬32500200萬50毫秒Test111.7G 3422秒2863條條/秒120萬服務(wù)端從第第400秒秒左右開始始,tommcat占占用內(nèi)存到到達(dá)Xmxx指

58、定上限限1.7gg,Tesst1、TTest22請求速度度急劇下降降,開始出出現(xiàn)大量錯錯包,4222秒以后后的錯包率率超過4.3%,且且仍在在增增加中,之之前的錯包包率約為00.8%,測試終止。Test22413秒2922條條/秒120萬42500200萬200毫秒秒Test111.7G 2742秒1727條條/秒128萬服務(wù)端從第第740秒秒左右開始始,tommcat占占用內(nèi)存到到達(dá)Xmxx指定上限限1.7gg,Tesst1、TTest22請求速度度急劇下降降,開始出出現(xiàn)大量錯錯包,測試試終止,達(dá)達(dá)到1.77G前,錯錯包率只有有0.0008%,達(dá)達(dá)到1.77g后,截截止停止測測試時,錯錯包率

59、增長長到1.22%,且仍仍在在增加加中。 wweb服務(wù)務(wù)器負(fù)載小小于2。Test22744秒1608條條/秒119萬52500200萬500毫秒秒Test111.7G 11595秒秒742條/秒118萬服務(wù)端從第第15955秒左右開開始,toomcatt占用內(nèi)存存到達(dá)Xmmx指定上上限1.77g,Teest1、Testt2請求速速度急劇下下降,開始始出現(xiàn)大量量錯包,達(dá)達(dá)到1.77G前,錯錯包率只有有0.088%,達(dá)到到1.7gg后,截止止停止測試試時,錯包包率增長到到2.3%,測試終終止。Test221575秒秒737條/秒116萬62500300萬1000毫毫秒Test111.7G 1636

60、2秒秒471條/秒300萬在測試進(jìn)度度到80%左右時,ttomcaat1占用用內(nèi)存達(dá)到到了Xmxx指定上限限1.7gg,但Teest1、Testt2請求速速度并未下下降,直到到600萬萬次請求全全部完成,兩兩個客戶端端分別有99個丟包,丟丟包率只有有0.0003%,最最長的響應(yīng)應(yīng)時長為112.7228秒。Test226351秒秒472條/秒300萬Nginxx+2個TTOMCAAT的WEEB服務(wù)器器NO客戶端數(shù)線程數(shù)請求次數(shù)間隔時間測試服務(wù)器器Tomcaat占用內(nèi)內(nèi)存服務(wù)器負(fù)載載持續(xù)時間平均速度完成請求數(shù)數(shù)最大響應(yīng)時時長平均響應(yīng)時時長測試結(jié)果12250150萬0毫秒Test111G 2347秒

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論