![最全面的門戶網(wǎng)站架構(gòu)設(shè)計(jì)方案_第1頁](http://file4.renrendoc.com/view/1527044b8aba9554bc594c2478a8f8e0/1527044b8aba9554bc594c2478a8f8e01.gif)
![最全面的門戶網(wǎng)站架構(gòu)設(shè)計(jì)方案_第2頁](http://file4.renrendoc.com/view/1527044b8aba9554bc594c2478a8f8e0/1527044b8aba9554bc594c2478a8f8e02.gif)
![最全面的門戶網(wǎng)站架構(gòu)設(shè)計(jì)方案_第3頁](http://file4.renrendoc.com/view/1527044b8aba9554bc594c2478a8f8e0/1527044b8aba9554bc594c2478a8f8e03.gif)
![最全面的門戶網(wǎng)站架構(gòu)設(shè)計(jì)方案_第4頁](http://file4.renrendoc.com/view/1527044b8aba9554bc594c2478a8f8e0/1527044b8aba9554bc594c2478a8f8e04.gif)
![最全面的門戶網(wǎng)站架構(gòu)設(shè)計(jì)方案_第5頁](http://file4.renrendoc.com/view/1527044b8aba9554bc594c2478a8f8e0/1527044b8aba9554bc594c2478a8f8e05.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
公開內(nèi)部公開機(jī)密絕密√公開內(nèi)部公開機(jī)密絕密√版權(quán)全部,侵權(quán)必究All版權(quán)全部,侵權(quán)必究Allrightsreserved4/25/2023前臺門戶網(wǎng)站架構(gòu)設(shè)計(jì)方案北京寬連十方數(shù)字技術(shù)2023-7目錄設(shè)計(jì)思路 3系統(tǒng)構(gòu)造 3網(wǎng)絡(luò)規(guī)劃及性能計(jì)算 錯誤!未定義書簽。網(wǎng)絡(luò)架構(gòu) 8網(wǎng)絡(luò)架構(gòu)說明 錯誤!未定義書簽。承受雙防火墻雙交換機(jī)做網(wǎng)絡(luò)冗余,保障平臺效勞 8承受硬件設(shè)備負(fù)載均衡器,實(shí)現(xiàn)網(wǎng)絡(luò)流量的負(fù)載均衡 8系統(tǒng)測算 錯誤!未定義書簽。系統(tǒng)處理力氣要求 34業(yè)務(wù)處理力氣要求 錯誤!未定義書簽。系統(tǒng)話務(wù)模型 錯誤!未定義書簽。配置核算 錯誤!未定義書簽。數(shù)據(jù)庫效勞器性能核算 錯誤!未定義書簽。WEB效勞器集群性能核算 錯誤!未定義書簽。WEB效勞器集群內(nèi)存性能核算 錯誤!未定義書簽。網(wǎng)絡(luò)帶寬 35性能模擬測試及性能推算 錯誤!未定義書簽。測試環(huán)境 錯誤!未定義書簽。測試結(jié)果 錯誤!未定義書簽。1個(gè)客戶端模擬不同線和并發(fā)懇求結(jié)果 錯誤!未定義書簽。10個(gè)客戶端懇求 錯誤!未定義書簽。結(jié)果分析 錯誤!未定義書簽。依據(jù)測試結(jié)果推算 錯誤!未定義書簽。設(shè)備清單 35硬件設(shè)備配置清單 錯誤!未定義書簽。設(shè)備技術(shù)規(guī)格 錯誤!未定義書簽。平臺擴(kuò)容的建議 35網(wǎng)站的性能瓶頸分析網(wǎng)站的性能影響因素很多,下面主要從如下4個(gè)方面進(jìn)展分析說明:網(wǎng)絡(luò)負(fù)載公網(wǎng)負(fù)載內(nèi)網(wǎng)負(fù)載WEB應(yīng)用效勞器性能CPU存儲,I/O訪問內(nèi)存并發(fā)TCP/IP連接數(shù)數(shù)據(jù)庫效勞器性能數(shù)據(jù)庫參數(shù)配置、內(nèi)存、存儲〕數(shù)據(jù)構(gòu)造的合理性不同WEB應(yīng)用的處理方式而對不同的性能瓶頸對于靜態(tài)的網(wǎng)站:靜態(tài)的HTML頁面嚴(yán)格地由標(biāo)準(zhǔn)的HTML成。這意味著,對一個(gè)靜態(tài)HTML文檔發(fā)出訪問懇求后,效勞器端只是簡潔地將該文檔傳CPU資源。對于靜態(tài)HTML的訪問瓶頸為:網(wǎng)絡(luò)帶寬、磁盤I/O以及cache(高速緩沖存儲器)。對于動態(tài)頁面由于效勞器解析動態(tài)頁面必需在其傳輸?shù)娇蛻舳饲熬屯ㄟ^效勞器來進(jìn)展解釋,這樣就會給應(yīng)用效勞器添加額外的性能消耗,假設(shè)進(jìn)一步要訪問數(shù)據(jù)庫,則會增加數(shù)據(jù)庫效勞器的性能消耗,則動態(tài)頁面還有額外的瓶頸:應(yīng)用效勞器的性能,數(shù)據(jù)庫效勞器的性能。系統(tǒng)架構(gòu)設(shè)計(jì)總體思路為提高網(wǎng)站的高并發(fā)性能,提高開發(fā)效率及運(yùn)營效率,主要按如下幾個(gè)思路進(jìn)展規(guī)劃設(shè)計(jì):負(fù)載均衡四層交換負(fù)載均衡:承受負(fù)載均衡器來實(shí)現(xiàn)硬件級的四層交換負(fù)載均衡,或承受LVS來實(shí)現(xiàn)軟件的四層交換負(fù)載均衡。公開內(nèi)部公開機(jī)密絕密√公開內(nèi)部公開機(jī)密絕密√版權(quán)全部,侵權(quán)必究All版權(quán)全部,侵權(quán)必究Allrightsreserved4/25/2023通過第三方軟件來實(shí)現(xiàn)負(fù)載均衡,同時(shí)實(shí)現(xiàn)頁面懇求的緩存。實(shí)現(xiàn)反向代理效勞器集群,同時(shí)搭建squid集群以作為靜態(tài)頁面和圖片的緩存。通過web效勞器的配置來實(shí)現(xiàn)負(fù)載均衡即通過apache或是Nginx將客戶懇求均衡的分給tomcat1,tomcat2. 去處理。WEB應(yīng)用開發(fā)架構(gòu)思路應(yīng)用開發(fā)實(shí)現(xiàn)MVC架構(gòu)三層架構(gòu)進(jìn)展web應(yīng)用開發(fā)的CMS系統(tǒng)來生成靜態(tài)的內(nèi)容頁面。承受Oscache實(shí)現(xiàn)頁面緩存,承受Memcached實(shí)現(xiàn)數(shù)據(jù)緩存承受獨(dú)立的圖片效勞器集群來實(shí)現(xiàn)圖片資源的存儲及WEB懇求數(shù)據(jù)存儲的設(shè)計(jì)思路數(shù)據(jù)庫拆分,把生產(chǎn)數(shù)據(jù)庫和查詢數(shù)據(jù)庫分別,對生產(chǎn)數(shù)據(jù)庫承受RAC實(shí)現(xiàn)數(shù)據(jù)庫的集群。承受高效的網(wǎng)絡(luò)文件共享策略,承受圖片效勞器來實(shí)現(xiàn)頁面的圖片存儲。不同網(wǎng)絡(luò)用戶訪問考慮CDN來解決不同網(wǎng)絡(luò)效勞商的接入速度問題,一般只能解決靜態(tài)頁面的訪問問題。在不同運(yùn)營商機(jī)房部署效勞器,通過鏡像技術(shù)來實(shí)現(xiàn)不同網(wǎng)絡(luò)效勞商的接入速度問題??傮w架構(gòu)網(wǎng)站的系統(tǒng)分層架構(gòu)硬件四層交換硬件四層交換負(fù)載均衡器軟件四層交換LVSNginxproxySquid負(fù)載均衡反向代理軟件〔數(shù)據(jù)緩存〕SquidcacheNginxcacheWEB效勞〔Apache+tomcat負(fù)載均衡〕ApacheTomat...TomatWEB效勞器架構(gòu)MVC應(yīng)用架構(gòu)ControlModelView應(yīng)用級緩存數(shù)據(jù)長期層(ibatis)頁面緩存(OSCache)數(shù)據(jù)緩存(Memcached)數(shù)據(jù)存儲文件共享NFSHDFS數(shù)據(jù)庫生產(chǎn)數(shù)據(jù)庫查詢數(shù)據(jù)庫網(wǎng)站的物理架構(gòu)InternetInternet用戶掃瞄頁面負(fù)載均衡器1...效勞器2代理效勞器集群〔Nginx〕效勞器1效勞器2效勞器3效勞器n...效勞器2效勞器1 效勞器2效勞器1 效勞器2效勞器1效勞器2效勞器1 效勞器n圖片效勞器集群Web效勞器集群AWeb效勞器集群BSquid效勞器集群網(wǎng)站的開發(fā)架構(gòu)SMS
消息中心 業(yè)務(wù)層WEB效勞器基于struts的MVC框架
長期層 數(shù)據(jù)層數(shù)據(jù)存儲MMSWAP 消PUSH 息
Control懇求 數(shù)據(jù)
ORMibatis
I/O
文件存儲HDFS數(shù)據(jù)庫中 View Model心〔Memcached〕
DB連接池 生產(chǎn)數(shù)據(jù)庫〔RAC〕短信群發(fā)器彩信群
WEB容器
Apache Tomat ...
C3p0
JDBC
生產(chǎn)數(shù)據(jù)庫〔RAC〕發(fā)器 臺支撐模塊
態(tài)化模塊
統(tǒng)計(jì)支撐模塊
業(yè)務(wù)支撐模塊
查詢數(shù)據(jù)庫Internet主防火墻Internet主防火墻備防火墻主交換機(jī)VRRP備交換機(jī)負(fù)載均衡器1負(fù)載均衡器2...效勞器2效勞器2效勞器2效勞器2效勞器1效勞器n效勞器1 效勞器n效勞器1效勞器n 效勞器1效勞器n效勞器1 效勞器n效勞器1 效勞器2〔Nginx〕網(wǎng)站效勞器集群圖片效勞器集群應(yīng)用效勞器集群生產(chǎn)DB效勞器集群查詢DB效勞器組 治理終端光纖交換機(jī)光纖交換機(jī)備注:
磁盤陣列柜 磁盤陣列柜承受雙防火墻雙交換機(jī)做網(wǎng)絡(luò)冗余,保障平臺效勞承受雙防火墻通知接通2線路互聯(lián)網(wǎng)接入,設(shè)備之間承受VRRP協(xié)議,在任何一個(gè)防火墻、互聯(lián)網(wǎng)發(fā)生故障后均可自動將流量切換到另一端,保證網(wǎng)站的正運(yùn)行,設(shè)備或網(wǎng)絡(luò)恢復(fù)后,自動恢復(fù)。承受雙千兆交換機(jī)分別接在2臺防火墻上,當(dāng)某臺設(shè)備或者網(wǎng)絡(luò)鏈路發(fā)生故障后,好設(shè)備自動接收已壞設(shè)備的工作,不影響網(wǎng)站的整體運(yùn)行,依據(jù)業(yè)務(wù)及真實(shí)效勞器的數(shù)量,交換機(jī)可以隨時(shí)增加。承受硬件設(shè)備負(fù)載均衡器,實(shí)現(xiàn)網(wǎng)絡(luò)流量的負(fù)載均衡使用硬件設(shè)備負(fù)載均衡器,將網(wǎng)絡(luò)流量均衡的分擔(dān)到WEB效勞器集群各節(jié)點(diǎn)效勞器,保障平臺效勞器資源均衡的使用。承受代理效勞器,實(shí)現(xiàn)軟件級的網(wǎng)絡(luò)負(fù)載均衡。數(shù)據(jù)庫效勞器分別成生產(chǎn)數(shù)據(jù)庫集群和查詢數(shù)據(jù)庫集群,實(shí)現(xiàn)生產(chǎn)讀寫與后臺查詢統(tǒng)計(jì)進(jìn)展分別,同時(shí)生產(chǎn)數(shù)據(jù)庫承受rac技術(shù)進(jìn)展架構(gòu)涉及技術(shù)的詳解負(fù)載均衡基于DNS的負(fù)載均衡--一個(gè)域名綁定多個(gè)IPDNS負(fù)載均衡技術(shù)是最早的負(fù)載均衡解決方案,它是通過DNS效勞中的隨機(jī)名字解析來實(shí)現(xiàn)的,在DNS效勞器中,可以為多個(gè)不同的地址配置同一個(gè)名字,而最終查詢這個(gè)名字的客戶機(jī)將在解析這個(gè)名字時(shí)得到其中的一個(gè)地址。因此,對于同一個(gè)名字,不同的客戶時(shí)機(jī)得到不同的地址,它們也就訪問不同地址上的Web效勞器,從而到達(dá)負(fù)載均衡的目的。TCP/IP應(yīng)用;但是,其缺點(diǎn)DNS效勞器將懇求平均地安排到后臺的WebWebWeb效勞器的配置和處理力氣不同,最慢的Web效勞器將成為系統(tǒng)的瓶頸,處理力氣強(qiáng)的效勞器不能充分發(fā)揮作用;其次Web效勞器消滅故障,DNS效勞器照舊會把DNS懇求安排到這臺故Web效勞,并且由于DNS緩存的緣由,所造成的后果要持續(xù)相當(dāng)長一段時(shí)間(一般DNS的刷周期約為24小時(shí))。所以在國外最的建設(shè)中心Web站點(diǎn)方案中,已經(jīng)很少承受這種方案了。通過硬件四層交換實(shí)現(xiàn)負(fù)載均衡Alteon、F5但是物有所值,能夠供給格外優(yōu)秀的性能和很靈敏的治理力氣。Yahoo中國當(dāng)時(shí)接近2023臺效勞器使用了三四臺Alteon就搞定了通過軟件四層交換實(shí)現(xiàn)負(fù)載均衡軟件四層交換我們可以使用Linux上常用的LVS來解決,LVS就是LinuxVirtualServer,他供給了基于心跳線heartbeat的實(shí)時(shí)災(zāi)難應(yīng)對解決方案,提高系統(tǒng)的魯棒性,同時(shí)可供了靈敏的虛擬VIP配置和治理功能,可以同時(shí)滿足多種應(yīng)用需求,這對于分布式的系統(tǒng)來說必不行少。一個(gè)典型的使用負(fù)載均衡的策略就是,在軟件或者硬件四層交換的根底上搭建squid集群,這種思路在很多大型網(wǎng)站包括搜尋引擎上被承受,這樣的架構(gòu)低本錢、高性能還有很強(qiáng)的擴(kuò)張性。通過反向代理效勞器實(shí)現(xiàn)負(fù)載均衡反向代理效勞器又稱為WEB加速效勞器,它位于WEB效勞器的前端,充當(dāng)WEB效勞器的內(nèi)容緩存器,反向代理效勞器是針對WEB效勞器設(shè)置的,后臺WEB效勞器對互聯(lián)網(wǎng)用戶是透亮的,用戶只能看到反向代理效勞器的地址,不清楚后臺WEB效勞器是如何組織架構(gòu)的。當(dāng)互聯(lián)網(wǎng)用戶懇求WEB效勞時(shí),DNS將懇求的域名解析為反向代理效勞器的IP地址,這樣URL懇求將被發(fā)送到反向代理效勞器,由反向代理效勞器負(fù)責(zé)處理用戶的懇求與應(yīng)答、與后臺WEB效勞器交互。利用公開內(nèi)部公開機(jī)密絕密√反向代理效勞器減輕了后臺WEBWEB器通信帶來的安全隱患。目前有很多反向代理軟件,比較知名的有Nginx和Squid。Nginx是由IgorSysoev為俄羅斯訪問量其次的Rambler.ru站點(diǎn)開發(fā)的,是一個(gè)高性能的IMAP/POP3/SMTPSquid,S,F(xiàn)TP等多種協(xié)議,是現(xiàn)在Unix系統(tǒng)上使用、最多功能也最完整的一套軟體。SquidSquid是一個(gè)開源的軟件,利用它的反向代理技術(shù)可以提高網(wǎng)站系統(tǒng)的訪問速度,下面將重點(diǎn)介紹Squid反向代理的實(shí)現(xiàn)原理和在提高網(wǎng)站性能方面的應(yīng)用。Squid反向代理效勞器位于本地WEB效勞器和Internet之間,組織架構(gòu)如以以下圖:客戶端懇求訪問WEB效勞時(shí),DNS將訪問的域名解析為Squid反向代理效勞器的IP地址,這樣客戶端的URL懇求將被發(fā)送到反向代理效勞器。假設(shè)Squid反向代理效勞器中緩存了該懇求4/25/2023 版權(quán)全部,侵權(quán)必究Allrightsreserved公開內(nèi)部公開機(jī)密絕密√的資源,則將該懇求的資源直接返回給客戶端,否則反向代理效勞器將向后臺的WEB效勞器懇求資源,然后將懇求的應(yīng)答返回給客戶端,同時(shí)也將該應(yīng)答緩存在本地,供下一個(gè)懇求者使用。Squid反向代理一般只緩存可緩沖的數(shù)據(jù)〔比方html網(wǎng)頁和圖片等〕,而一些CGI腳本程序或者ASP、JSP之類的動態(tài)程序默認(rèn)不緩存。它依據(jù)從WEB效勞器返回的頭標(biāo)記來緩沖Last-Modified:告知反向代理頁面什么時(shí)間被修改Expires:告知反向代理頁面什么時(shí)間應(yīng)當(dāng)從緩沖區(qū)中刪除Cache-Control:告知反向代理頁面是否應(yīng)當(dāng)被緩沖Pragma:用來包含實(shí)現(xiàn)特定的指令,最常用的是Pragma:no-cache注:DNSIP地址。NginxNginx(“enginex”)是俄羅斯人IgorSysoev(塞索耶夫)編寫的一款高性能的和反向代理效勞器。Nginx已經(jīng)在俄羅斯最大的門戶網(wǎng)站──RamblerMedia〔“://rambler.ru/“rambler.ru〕上運(yùn)行了4年時(shí)間,同時(shí)俄羅斯超過20%的虛擬主機(jī)平臺承受Nginx作為反向代理效勞器。在國內(nèi),已經(jīng)有浪博客、浪播客、搜狐通行證、網(wǎng)易聞、網(wǎng)易博客、金山逍遙網(wǎng)、金山愛詞霸、校內(nèi)網(wǎng)、YUPOONginx效勞器。Nginx特點(diǎn)如下:工作在OSI模型的第7層〔應(yīng)用層〕高并發(fā)連接官方測試能夠支撐5萬并發(fā)連接,在實(shí)際生產(chǎn)環(huán)境中跑到2~3萬并發(fā)連接數(shù)。內(nèi)存消耗少在3萬并發(fā)連接下,開啟的10個(gè)Nginx進(jìn)程才消耗150M內(nèi)存〔15M*10=150M〕。配置文件格外簡潔風(fēng)格跟程序一樣通俗易懂。本錢低廉NginxF5BIG-IP、NetScaler等硬件負(fù)載均衡交換機(jī)則需要十多萬至幾十萬人民幣。支持Rewrite重寫規(guī)章能夠依據(jù)域名、URL的不同,將懇求分到不同的后端效勞器群組。內(nèi)置的安康檢查功能假設(shè)NginxProxy后端的某臺Web效勞器宕機(jī)了,不會影響前端訪問。節(jié)約帶寬支持GZIP壓縮,可以添加掃瞄器本地緩存的Header頭。穩(wěn)定性高用于反向代理,宕機(jī)的概率微乎其微。Nginx+squid頁面緩存來實(shí)現(xiàn)反向代理負(fù)載均衡通過Nginx反向代理和squid緩存實(shí)現(xiàn)動靜分別的架構(gòu)圖如下所示:4/25/2023 版權(quán)全部,侵權(quán)必究Allrightsreserved公開內(nèi)部公開機(jī)密絕密√Apache+tomcat集群實(shí)現(xiàn)負(fù)載均衡。使用apache和多個(gè)tomcat配置一個(gè)可以應(yīng)用的web網(wǎng)站,用Apache進(jìn)展分流,把懇求依據(jù)權(quán)重以及當(dāng)時(shí)負(fù)荷分tomcat1,tomcat2...去處理,要到達(dá)以下要求:4/25/2023 版權(quán)全部,侵權(quán)必究Allrightsreserved公開內(nèi)部公開機(jī)密絕密√公開內(nèi)部公開機(jī)密絕密√版權(quán)全部,侵權(quán)必究All版權(quán)全部,侵權(quán)必究Allrightsreserved4/25/2023ApacheServermod_jk連接器連接多個(gè)tomcat同時(shí)還要配置sessiontomcat的添加的session,是要同步復(fù)制到其它tomcattomcat都有一樣的session〔包括Apachetomcat〕設(shè)定Session緩存系統(tǒng)架構(gòu)方面的緩存Squid緩存架構(gòu)方面使用Squid進(jìn)展緩存。注:SQUID使用了LM算法,LMHeader里時(shí)間(Date)和Last-Modified時(shí)間DateSqui從后面取頁面的時(shí)間Last-ModifiedNginx的緩存功能Nginx從0.7.48版本開頭,支持了類似Squid的緩存功能;及相關(guān)組合當(dāng)作Key,用md5編碼哈希后保存;Nginx的Web緩存效勞只能為指定URL或狀態(tài)碼設(shè)置過期時(shí)間,不支持類似Squid的PURGE指令,手動去除指定緩存頁面;承受MMAP實(shí)現(xiàn),設(shè)置的緩存區(qū)大小不能超過物理內(nèi)存+SWEB的值基于memcached的緩存nginx對memcached有所支持,但是功能并不是特別之強(qiáng),性能上還是格外之優(yōu)秀。location/mem/{if($uri~“^/mem/([0-9A-Za-z_]*)$“){set$memcached_key“$1“;memcached_pass :11211;}expires70;}“://sudone/mem/abc“://sudone/mem/abcmemcachedabckey去取數(shù)據(jù)。Nginxmemcachedmemcached里寫入數(shù)據(jù)得用后臺的動404定向到后端去寫入數(shù)據(jù)。Nginxsquid等緩存軟件的不同之特色,所以也可看作其優(yōu)點(diǎn)。在生產(chǎn)應(yīng)用中它常常用作squid的伙伴,squid對于帶?的鏈接往往無法阻擋,nginx://sudone/?“://sudone/在squid上“://sudone/squi上會被當(dāng)做兩個(gè)鏈接,所以會造成兩次穿透;nginx只會保存一次,無論鏈接變成://sudone/?1還是“://sudone/?123“://sudone/?123nginx緩存,從而有效地保護(hù)了后端主機(jī)。nginx會格外狡猾地將鏈接形式保存到文件系統(tǒng)中,這樣對于一個(gè)鏈接,可以很便利rsync等協(xié)作使用,它完完全全就是一個(gè)文件系統(tǒng)構(gòu)造。應(yīng)用程序方面的緩存OSCacheOSCache由OpenSymphony設(shè)計(jì),它是一種開創(chuàng)性的JSP定制標(biāo)記應(yīng)用,供給了在現(xiàn)有JSP頁面之內(nèi)實(shí)現(xiàn)快速內(nèi)存緩沖的功能, OSCache是個(gè)一個(gè)廣泛承受的高性能的J2EE緩存框架,OSCache能用于任何Java應(yīng)用程序的一般的緩存解決方案OSCache有以下特點(diǎn)緩存任何對象,你可以不受限制的緩存局部jsp頁面或懇求,任何java對象都可以緩存。擁有全面的API--OSCacheAPI給你全面的程序來把握全部的OSCache特性。永久緩存--緩存能任憑的寫入硬盤,因此允許昂貴的創(chuàng)立〔expensive-to-create〕數(shù)據(jù)來保持緩存,甚至能讓應(yīng)用重啟。支持集群----你可以有最大限度的把握緩存對象的過期,包括可插入式的刷策略〔假設(shè)默認(rèn)性能不需要時(shí)〕。OSCache是當(dāng)前運(yùn)用最廣的緩存方案,JBoss,Hibernate,Spring等都對其有支持。OSCache的特點(diǎn):jsp頁面或java對象都可以緩存。擁有全面的API:OSCacheAPI允許你通過編程的方式來把握全部的OSCache特性。昂貴的數(shù)據(jù)。支持集群:集群緩存數(shù)據(jù)能被單個(gè)的進(jìn)展參數(shù)配置,不需要修改代碼?!布僭O(shè)默認(rèn)性能不能滿足需要時(shí)〕。Memcachedmemcached是高性能的分布式內(nèi)存緩存效勞器。一般的使用目的是,通過緩存數(shù)據(jù)庫查詢結(jié)果,削減數(shù)據(jù)庫訪問次數(shù),以提高動態(tài)WebMemcached是以Key/Value的形式單個(gè)對象緩存。公開內(nèi)部公開機(jī)密絕密√自主開發(fā)的內(nèi)存數(shù)據(jù)緩存效勞獨(dú)立進(jìn)程方式的緩存效勞的數(shù)據(jù)就可以通過這樣方式進(jìn)展緩存。用戶根本信息及狀態(tài)的信息緩沖列表緩存,就像論壇里帖子的列表記錄條數(shù)的緩存,比方一個(gè)論壇板塊里有多少個(gè)帖子,這樣才便利實(shí)現(xiàn)分頁。簡潔一點(diǎn)的group,sum,count查詢,比方積分的分類排名在web應(yīng)用中對于熱點(diǎn)的功能,考慮使用完全裝載到內(nèi)存,保證確定的響應(yīng)速度,對于需要頻繁訪問的熱點(diǎn)數(shù)據(jù),承受集中緩存(多個(gè)可以承受負(fù)載均衡),減輕數(shù)據(jù)庫的壓力,比方:很多配置信息,操作員信息等等。頁面靜態(tài)化靜態(tài)的HTML頁面嚴(yán)格地由標(biāo)準(zhǔn)的HTML標(biāo)示語言構(gòu)成,并不需要效勞器端即時(shí)運(yùn)算生成。HTML從效勞器運(yùn)行的那個(gè)時(shí)間片來看,這個(gè)傳輸過程僅僅占用了很小的CPU資源。html能使我們的網(wǎng)站上的頁面承受靜態(tài)頁面來實(shí)現(xiàn),這個(gè)最簡潔的方法其實(shí)也是最有效的方法。4/25/2023 版權(quán)全部,侵權(quán)必究Allrightsreserved公開內(nèi)部公開機(jī)密絕密√同時(shí)承受第三方開源的CMS系統(tǒng)來實(shí)現(xiàn)網(wǎng)站內(nèi)容的治理。對于大量內(nèi)容并且頻繁更的網(wǎng)(CMS),信息公布系統(tǒng)(CMS)有一套高效、可治理的CMS是必不行少的。同時(shí),HTML靜態(tài)化也是某些緩存策略使用的手段,對于系統(tǒng)中頻繁使用數(shù)據(jù)庫查詢但是內(nèi)容更很小的應(yīng)用,可以考慮使用HTML靜態(tài)化來實(shí)現(xiàn),比方論壇中論壇的公用設(shè)置信息,這些信息目前的主流論壇都可以進(jìn)展后臺治理并且存儲再數(shù)據(jù)庫中量的數(shù)據(jù)庫訪問懇求。在進(jìn)展html性的操作。為了提高靜態(tài)HTML的訪問效率,主要可以對以下幾個(gè)方面進(jìn)展優(yōu)化:網(wǎng)絡(luò)帶寬、磁盤I/O以及cache(高速緩沖存儲器)。數(shù)據(jù)庫配置及優(yōu)化數(shù)據(jù)庫集群對生產(chǎn)數(shù)據(jù)庫承受RAC實(shí)現(xiàn)數(shù)據(jù)庫的集群。數(shù)據(jù)庫及表的散列把生產(chǎn)數(shù)據(jù)庫和查詢數(shù)據(jù)庫進(jìn)展分別,針對系統(tǒng)業(yè)務(wù)數(shù)據(jù)的特點(diǎn),把大的表進(jìn)展拆分,對于訪問較多的表承受分區(qū)表。使用讀/寫數(shù)據(jù)庫分別,隨著系統(tǒng)變得越來越浩大,特別是當(dāng)它們擁有很差的SQL時(shí),一臺數(shù)據(jù)這意味著建立主/從副本系統(tǒng),其中程序會對主庫編寫全部的UpdateInsert和Delete而全部Select的數(shù)據(jù)都讀取自從數(shù)據(jù)庫〔或者多個(gè)從數(shù)據(jù)庫〕。盡管概念上很簡潔,但是想要合理、準(zhǔn)確地實(shí)現(xiàn)并不簡潔,這可能需要大量的代碼工作。因PHP中使用分別的DB連接來進(jìn)展讀寫操作。假設(shè)正確地完成該項(xiàng)工作,那么系統(tǒng)就可以擴(kuò)展到2臺、3臺甚至12臺效勞器,并具備高可用性和穩(wěn)定性。擁有良好的DB配置和備份很多公司都沒有良好的備份機(jī)制,也不知道如何恰當(dāng)?shù)赝瓿蛇@項(xiàng)工作。只有imp是不夠的,還需要進(jìn)展熱備份,從而得到超快的速度和超高的牢靠性。4/25/2023 版權(quán)全部,侵權(quán)必究Allrightsreserved公開內(nèi)部公開機(jī)密絕密√另外,在將全部備份文件從效勞器上轉(zhuǎn)移出來之前要進(jìn)展壓縮和加密。另外還要確保擁有設(shè)計(jì)合理的、有用的關(guān)于安全、性能和穩(wěn)定性問題的設(shè)定,包括防止數(shù)據(jù)敗壞,其中很多設(shè)定都是格外重要的。文件存儲文件共享HDFS〔GFS〕HDFS是ApacheHadoop工程中的一個(gè)分布式文件系統(tǒng)實(shí)現(xiàn),基于Google于2023年10月發(fā)表的GoogleFileSystem(GFS)論文。特性硬件要求低高容錯性易可擴(kuò)展配置簡潔超大文件HDFS承受master/slave架構(gòu)。一個(gè)HDFS集群是由一個(gè)Namenode和確定數(shù)目的Datanodes組成。4/25/2023 版權(quán)全部,侵權(quán)必究Allrightsreserved公開內(nèi)部公開機(jī)密絕密√公開內(nèi)部公開機(jī)密絕密√版權(quán)全部,侵權(quán)必究All版權(quán)全部,侵權(quán)必究Allrightsreserved4/25/2023NFS與GFS比較NFSSUNFreeBSDNFS,用戶和程序訪問遠(yuǎn)端系統(tǒng)上的文件就像訪問本地文件一樣。而GFS是Google為了滿足本公司快速增長的數(shù)據(jù)處理要求而開發(fā)的文件系統(tǒng)。GFS是一個(gè)Google的計(jì)算機(jī)集群進(jìn)展設(shè)計(jì)的,特地是為Google頁面搜尋的存儲進(jìn)展了優(yōu)化。所以從功能上看,它們兩者是完全不同的概念。其次從構(gòu)造上比較,NFS享的名目和文件存放在效勞器上,客戶機(jī)遠(yuǎn)程地訪問保存在效勞器上的數(shù)據(jù)。GFS則由一臺Master(通常有幾臺備份)和假設(shè)干臺TrunkServer構(gòu)成。GFS中文件備份成固定大小的TrunkTrunkServer上,每個(gè)Trunk有多份(比方3)拷貝,也存儲在不同的TrunkServer上。Master負(fù)責(zé)維護(hù)GFS中的Metadata,即文件名及其Trunk信息??蛻舳讼葟腗aster上得到文件的Metadata,依據(jù)要讀取的數(shù)據(jù)在文件中的位置與相應(yīng)的TrunkServer通信,獵取文件數(shù)據(jù)。的文件系統(tǒng)”,它是獨(dú)立于操作系統(tǒng)的,容許不同的操作系統(tǒng)共同地進(jìn)展文件的共享。而GFSPCPC的操作系統(tǒng)一般是Linux。HDFSGoogle擁有超過200個(gè)的GFS集群,其中有些集群的PC數(shù)量超過5000臺。集群的數(shù)據(jù)存儲規(guī)??梢缘竭_(dá)5個(gè)PB,并且集群中的數(shù)據(jù)讀寫吞吐量可到達(dá)每秒40G。而NFS一般沒有這么巨大的規(guī)模。文件的多效勞器自動同步使用Linux2.6內(nèi)核的inotify監(jiān)控Linux文件系統(tǒng)大事。利用開源的lsync監(jiān)聽某一名目,假設(shè)名目內(nèi)文件發(fā)生增、刪、改,利用Rsync協(xié)議自動同步到多臺效勞器。圖片效勞器分別APAHCE的效勞器下,每一個(gè)圖片的懇求都有可能D進(jìn)程的調(diào)用。使用獨(dú)立的圖片效勞器不但可以避開以上這個(gè)狀況〔基于是緩存效勞器網(wǎng)絡(luò)問題解決方案你不行能要求全部的使用人員,都和你的效勞器在一個(gè)運(yùn)營商的網(wǎng)絡(luò)內(nèi),而不同網(wǎng)絡(luò)之間訪問速度會很慢,我們可以承受鏡像網(wǎng)站和引入CDN來解決這一問題。用戶用戶查、搜尋、點(diǎn)評、視頻〕靜態(tài)內(nèi)容〕解析CDN電信用戶網(wǎng)通用戶其他用戶效勞器1效勞器n效勞器1效勞器n效勞器1效勞器n電信機(jī)房 多線機(jī)房 網(wǎng)通機(jī)房智能DNS解析我們可以在不同的網(wǎng)絡(luò)運(yùn)營商部署web效勞器,通過linux上的rsync工具自動同步到不同網(wǎng)絡(luò)接入商的web效勞器上,以作為主站的鏡像。然后通過配置智能DNS解析來引導(dǎo)不同網(wǎng)絡(luò)的訪問用戶到對應(yīng)的網(wǎng)絡(luò)運(yùn)營商的web效勞器。CDN假設(shè)有足夠的投資,也可以承受CDN(內(nèi)容分發(fā)網(wǎng)),把靜態(tài)內(nèi)容〔靜態(tài)頁面和圖片〕進(jìn)展CDN緩存,以減輕效勞器壓力。CDN的全稱是ContentDeliveryNetwork,即內(nèi)容分發(fā)網(wǎng)絡(luò)。它實(shí)行了分布式網(wǎng)絡(luò)緩存構(gòu)造〔webcache技術(shù)〕,其目的是通過在現(xiàn)有Internet中增加一層的網(wǎng)絡(luò)架構(gòu)“邊緣“,使用戶可以就近取得所需的內(nèi)容Internet網(wǎng)絡(luò)擁擠的狀況從技術(shù)上全面解決由于網(wǎng)絡(luò)帶寬小用(也就是一個(gè)效勞器的內(nèi)容,平均分部到多個(gè)服務(wù)器上,效勞器智能識別,讓用戶獵取離用戶最近的效勞器,提高速度。CDN網(wǎng)絡(luò)加速技術(shù),雖然網(wǎng)站的訪問巨大,但無論在什么地方訪問都會感覺速度很快。而一般的網(wǎng)站假設(shè)效勞器在網(wǎng)通,電信用戶訪問很慢,假設(shè)效勞器在電信,網(wǎng)通用戶訪問又很慢。WEB應(yīng)用開發(fā)架構(gòu)設(shè)計(jì)思路基于MVC的三層應(yīng)用開發(fā)架構(gòu)iBATIS是一個(gè)可以設(shè)計(jì)和實(shí)現(xiàn)更好的iBATIS是一個(gè)可以設(shè)計(jì)和實(shí)現(xiàn)更好的Java應(yīng)用程序長期化層的框架。iBATIS把對象和存儲過程或者使用或者使用XML描述符的SQL語句進(jìn)展了關(guān)聯(lián)。簡潔是iBATIS最大的優(yōu)勢ibatis-使用ibatis的十個(gè)理由10可配置的caching(包括附屬)支持DataSource、localtransactionmanagemenglobaltransaction簡潔的XML支持Map,Collection,ListInteger,String)支持JavaBeans(get/set方法)populatinglists,complexobjectmodels)對象模型從不完善(不需要修改)數(shù)據(jù)模型從不完善(不需要修改)你已經(jīng)知道SQL,為什么還要學(xué)習(xí)其他東西公開內(nèi)部公開機(jī)密絕密√MVC架構(gòu)示意4/25/2023 版權(quán)全部,侵權(quán)必究Allrightsreserved公開內(nèi)部公開機(jī)密絕密√Struts架構(gòu)客戶端發(fā)送一個(gè)懇求,通過Struts框架最終獲得一個(gè)響應(yīng),這一過程格外重要,它是理解StrutsStruts求直至返回響應(yīng)的整個(gè)過程:4/25/2023 版權(quán)全部,侵權(quán)必究Allrightsreserved公開內(nèi)部公開機(jī)密絕密√面對效勞的應(yīng)用架構(gòu)面對效勞的應(yīng)用架構(gòu)是指構(gòu)建可分布式的、去中心化的效勞器平臺,以供給很多不同的應(yīng)用,數(shù)據(jù)庫被分成很多個(gè)小局部,圍繞每個(gè)局部都會創(chuàng)立一個(gè)效勞接口(API),并且該接口是訪問數(shù)據(jù)庫的唯一途徑。最終數(shù)據(jù)庫演化成一個(gè)格外浩大的共享資源。這種架構(gòu)是松散耦合的,并且圍圍著效勞進(jìn)展構(gòu)建。面對效勞的架構(gòu)供給應(yīng)他們隔離特性,一個(gè)效勞可能有很多臺數(shù)據(jù)庫效勞器,他們之間的數(shù)據(jù)是相通的,而對外他們的接口只有一個(gè),外面是無法知道這個(gè)效勞后面的數(shù)據(jù)組織是如何搭建的。4/25/2023 版權(quán)全部,侵權(quán)必究Allrightsreserved公開內(nèi)部公開機(jī)密絕密√公開內(nèi)部公開機(jī)密絕密√版權(quán)全部,侵權(quán)必究All版權(quán)全部,侵權(quán)必究Allrightsreserved4/25/2023這樣就有了越來越多的應(yīng)用效勞器。這些應(yīng)用效勞器從數(shù)據(jù)眾多的效勞〔每個(gè)效勞背后都有數(shù)據(jù)庫或集群數(shù)據(jù)庫〕中聚合信息,然后生成我們所看到的Amazon的各個(gè)網(wǎng)站頁面。這樣各種效勞如插件一樣組成了一個(gè)開放的平臺,這樣團(tuán)隊(duì)的規(guī)模就會比較小,比較靈敏。Amazon系統(tǒng)軟件參數(shù)優(yōu)化在確定的架構(gòu)根底上,要提高并發(fā)處理力氣則需要調(diào)整效勞器的操作系統(tǒng)內(nèi)核參數(shù)、web效勞器〔tomcat的參數(shù)、apache的參數(shù)、Nginx的參數(shù)〕,以使其性能到達(dá)最優(yōu)化。操作系統(tǒng)優(yōu)化調(diào)整系統(tǒng)的內(nèi)核參數(shù),增大連接數(shù)及TCP/IP的超時(shí)設(shè)置。Linux系統(tǒng)中:在在/etc/sysctl.conf配置文件中增加如下內(nèi)核參數(shù):net.ipv4.tcp_syncookies=1net.ipv4.tcp_tw_reuse=1net.ipv4.tcp_tw_recycle=1net.ipv4.tcp_fin_timeout=5tomcat效勞器優(yōu)化增大并發(fā)連接數(shù),調(diào)整內(nèi)存參數(shù)的設(shè)置。11、JDK內(nèi)存優(yōu)化:當(dāng)應(yīng)用程序需要的內(nèi)存超出堆的最大值時(shí)虛擬機(jī)就會提示內(nèi)存溢出,并且導(dǎo)致應(yīng)用效勞崩潰。80%。Tomcat默認(rèn)可以使用的內(nèi)存為128MB,在較大型的應(yīng)用工程中,這點(diǎn)內(nèi)存是不夠的,需要調(diào)大.Tomcat128MB,Windows下,在文件/bin/catalina.bat,Unix下,在文件/bin/catalina.sh的前面,增加如下設(shè)置:JAVA_OPTS=”-Xms-Xmx【可以使用的最大內(nèi)存】”需要把這個(gè)兩個(gè)參數(shù)值調(diào)大。例如:JAVA_OPTS=”-Xms256m-Xmx512m”256MB512MB。2tomcatserver.xml中的配置中,和連接數(shù)相關(guān)的參數(shù)有:maxThreads:TomcatTomcat可創(chuàng)立的最大150。acceptCount:指定當(dāng)全部可以使用的處理懇求的線程數(shù)都被使用時(shí),可以放處處理隊(duì)列中10。minSpareThreads:Tomcat25。maxSpareThreadsTomcat就會關(guān)閉不再需要的socket線程。75。enableLookupsenableLookupstruefalse30000毫秒。maxKeepAliveRequests:保持懇求數(shù)量,默認(rèn)值100。bufferSize:輸入流緩沖大小,默2048pressionon/off/forceoffmaxThreadsacceptCount。假設(shè)要加大并發(fā)連接數(shù),應(yīng)同時(shí)加大這兩個(gè)參數(shù)。webserver允許的最大連接數(shù)還受制于*作系統(tǒng)的內(nèi)核參數(shù)設(shè)置,通常Windows2023個(gè)左右,Linux1000個(gè)左右。apache效勞器優(yōu)化加大并發(fā)數(shù)量和關(guān)閉不需要的模塊。由于apache格外消耗內(nèi)存,盡量輕量化。Apache在配置ContentType的時(shí)候可以盡量少支持,盡可能少的LoadModule,保證更高的系統(tǒng)消耗和執(zhí)行效率同時(shí)配置apache和tomcatapachetomcat在處理靜態(tài)頁面或者圖片、js等訪問方面,可以考慮使用ligd代替Apache,它供給了更輕量級和更高效的處理力氣Nginx效勞器的優(yōu)化器為2顆雙核cpu,則建議設(shè)定為4。Web效勞架構(gòu)評測主要對基于tomcat和nginx+tomcat的web效勞器的處理性能進(jìn)展測試,以作為不同性能要求下架構(gòu)選型的依據(jù)測試環(huán)境網(wǎng)絡(luò)環(huán)境內(nèi)網(wǎng)帶寬千M內(nèi)網(wǎng)。內(nèi)網(wǎng)ping包延遲:<0.1ms網(wǎng)絡(luò)拓?fù)涫疽釽EBWEB效勞高可用測試網(wǎng)絡(luò)示意圖千兆交換機(jī)測試效勞器WEB效勞9test11test20:817Nginx效勞端Tomcat16Tomcat2效勞器配置設(shè)備設(shè)備硬件配置操作系統(tǒng)NginxIBMX3650CPU:Intel(R)Xeon(R)E51502.66GHz2核*2HpDL580G4CPU:Intel(R)Xeon(TM)3.40GHz4核*2HpDL580G4CPU:Intel(R)Xeon(TM)3.40GHz4核*2HpDL580G5CPU:Intel(R)Xeon(R)E73101.60GHz4核*2內(nèi)存:4G千兆網(wǎng)卡IBMX3650CPU:Intel(R)Xeon(R)E51502.66GHz2核*2內(nèi)存:4G千兆網(wǎng)卡Redhatlinuxas4Tomcat1Redhatlinuxas5Tomcat2Redhatlinuxas5Test1Redhatlinuxas5Test2Redhatlinuxas4軟件環(huán)境操作系統(tǒng)網(wǎng)絡(luò)參數(shù)優(yōu)化用做測試的各臺效勞器,均在/etc/sysctl.conf配置文件中增加如下內(nèi)核參數(shù):net.ipv4.tcp_syncookies=1net.ipv4.tcp_tw_reuse=1net.ipv4.tcp_tw_recycle=1net.ipv4.tcp_fin_timeout=5Nginx設(shè)置主要配置如下:user wwwwww;worker_processes4;error_log /usr/local/nginx/logs/nginx_error.log debug;pid /usr/local/nginx/logs/nginx.pid;worker_rlimit_nofile51200;events{}{
useepoll;worker_connections51200;include mime.types;default_type application/octet-stream;#charset gb2312;server_names_hash_bucket_size128;client_header_buffer_size32k;large_client_header_buffers432k;sendfileon;tcp_nopush on;keepalive_timeout1;tcp_nodelayon;#gzipon;#gzip_min_length 1k;#gzip_buffers 416k;#gzip__version1.0;#gzip_comp_level2;#gzip_types text/plainapplication/x-javascripttext/cssapplication/xml;#gzip_varyon;upstream tomcats {server 7:8081;server 6:8081;# server 1:8080;}server{listen 81;server_namelocalhost;proxy_redirectoff;location/{}
proxy_pass ://tomcats;#后端的Web效勞器可以通過X-Forwarded-For獵取用戶真實(shí)IP#proxy_set_header X-Forwarded-For $remote_addr;#location/{#if($request_uri ~* “.*\.(js|css|gif|jpg|jpeg|png|bmp|swf)$“)#{# proxy_pass ://squid.abc;#}#if($request_uri ~* #{# proxy_pass ://squid.abc;#}#}#定義日志格式log_format access ”$remote_addr-$remote_user[$time_local]$request””“$status“$body_bytes_sent“$_referer“””“$_user_agent““$_x_forwarded_for“”;#打日志access_log /usr/local/nginx/logs/access.log access;#允許客戶端懇求的最大的單個(gè)文件字節(jié)數(shù)client_max_body_size 10m;#緩沖區(qū)代理緩沖用戶端懇求的最大字節(jié)數(shù)可以理解為先保存到本地再傳給用戶client_body_buffer_size 128k;#跟后端效勞器連接的超時(shí)時(shí)間_發(fā)起握手等候響應(yīng)超時(shí)時(shí)間proxy_connect_timeout 600;#連接成功后_等候后端效勞器響應(yīng)時(shí)間_其實(shí)已經(jīng)進(jìn)入后端的排隊(duì)之中等候處理proxy_read_timeout 600;#后端效勞器數(shù)據(jù)回傳時(shí)間_就是在規(guī)定時(shí)間之內(nèi)后端效勞器必需傳完全部的數(shù)據(jù)proxy_send_timeout 600;#代理懇求緩存區(qū)_這個(gè)緩存區(qū)間會保存用戶的頭信息以供Nginx進(jìn)展規(guī)章處理_一般只要能保存下頭信息即可proxy_buffer_size 8k;#Nginx保存單個(gè)用的幾個(gè)Buffer最大用多大空間proxy_buffers 432k;#假設(shè)系統(tǒng)很忙的時(shí)候可以申請更大的proxy_buffers官方推舉*2proxy_busy_buffers_size64k;#proxy緩存臨時(shí)文件的大小proxy_temp_file_write_size64k;}}Tomcat設(shè)置主要配置如下:Tomcat5.5MaxThread500MinSpareThread25MaxSpareThread75Xmx1740MJava環(huán)境使用jdk1.6_03啟動兩個(gè)Tomcat。使用jdk1.6啟動兩個(gè)客戶端的Tes測試t進(jìn)程。公開機(jī)密公開機(jī)密萬萬毫秒Test274416081190.0081.7g秒條/秒萬在增加中。web測試結(jié)果NO客戶數(shù) 線程數(shù)11NO客戶數(shù) 線程數(shù)11500225003250042500Test1159552500200萬500毫秒Test21.7G<1秒1575秒/秒/秒118萬116萬1595Test21.7gTest162500300萬1000毫秒tomca1.7G<1Test2Test20.003%,最長的懇求次數(shù)間隔時(shí)間測試服務(wù)器占用內(nèi)存效勞器負(fù)載持續(xù)時(shí)間平均速度完成懇求200萬秒Test11.1G>1508212986條/秒82tomcat106 負(fù)載急劇上升,top萬 速度急劇下降,錯包率100%,200萬秒Test1Test21.7G<6288秒293秒4765條/秒4123條/秒137萬120萬拋出“java.lang.OutOfMemor200萬秒Test1Test21.7G<3422秒413秒2863條/秒2922條/秒120萬120萬400Test2懇求速度急劇下降,且仍在在增加中,之前的錯包200200Test11.7G<2742秒1727條/秒128萬740Test26362秒471/秒300萬6351472300秒/秒萬4/25/2023 版權(quán)全部,侵權(quán)必究Allrightsreserved 第31公開機(jī)密公開機(jī)密NO客戶端數(shù)線程數(shù)懇求NO客戶端數(shù)線程數(shù)懇求次數(shù)間隔測試服Tomcat時(shí)間 務(wù)器 用內(nèi)存效勞器負(fù)載持續(xù)時(shí)間平均速度完成請求數(shù)Test11G34715012250150萬0秒Test11.4G54220022500200萬秒最大響應(yīng)時(shí)長93005毫秒21244毫秒45016毫秒45014毫秒平均響時(shí)長4322/秒4658/秒3690/秒3676/秒0.21<2Test11G3221500.230.27<2Test21.4G5442000.2752500500萬500毫秒93000毫秒92987毫秒9077毫秒1.091.112.026 2 500500萬1000毫秒9044毫秒2.0232500300萬秒Test1Test21.7G1.7G<2114011412445/秒2424/秒27827642500300萬200毫秒Test1Test21.7G1.7G<1186018631490/秒1482/277276Test11.7G5475秒913/秒500Test2Test11.7G5475秒913/秒500Test21.7G<15565898/秒500Test1968M10149492/秒500<1Test21G10149492/秒500公開機(jī)密公開機(jī)密102021020220096160.101036120096080.10791530090150.137812300102340.13客戶線程懇求間隔測試服Tomcat效勞器持續(xù)客戶線程懇求間隔測試服Tomcat效勞器持續(xù)平均速度完成請最大響應(yīng)平均響端數(shù)數(shù)次數(shù)時(shí)間務(wù)器用內(nèi)存負(fù)載時(shí)間(條/秒)求數(shù)時(shí)長長200萬25200萬25秒30050萬秒300200萬毫秒500500萬毫秒5001000萬毫秒Test1Test20.4G0.4G<1Test1Test20.4G0.2G<1Test1Test20.4G0.2G<1Test1Test20.4G0.2G<1Test10.4G<1Test20.2G2459300秒30180.40241730033840.4199350030201.0098950033941.0149850030202.00498500782.00NO12250150萬0秒Test1Test20.2G0.2G<12250032500425005250062500NO12250150萬0秒Test1Test20.2G0.2G<12250032500425005250062500196秒194秒379秒384秒1220秒1241秒5031秒5055秒10040100382343725423150萬9993150萬34720.040.044/25/2023 版權(quán)全部,侵權(quán)必究Allrightsreserved 第33公開機(jī)密內(nèi)部公開√公開機(jī)密內(nèi)部公開√第34頁第34頁,共39頁34,Total394/25/2023版權(quán)全部,侵權(quán)必究Allrightsreserved測試結(jié)果分析系統(tǒng)參數(shù)的影響分析worker_processes參數(shù)對Nginx性能的影響測試過程中分別設(shè)定worker_processes為8、4、2、1時(shí)覺察,該參數(shù)對nginx性能影響不大,對效勞器資源消耗也沒有太大影響,相關(guān)資料顯示,該參數(shù)的值最好跟cpu核數(shù)相等,能夠發(fā)揮最大性能,本次測試nginx所在效勞器為2顆雙核cpu,因此最終測試設(shè)定為4。MaxThread參數(shù)對tomcat并發(fā)性的影響本次測試tomcat的MaxThread參數(shù)設(shè)定為500,進(jìn)展13000條/秒并發(fā)測試時(shí),tomcat啟動并發(fā)線程過多,將效勞器cpu耗盡。分析MaxThread雖能夠提高tomcat并發(fā)力氣,但前提是在一個(gè)合理的范圍內(nèi),要確保效勞器負(fù)載不會由于并發(fā)線程過多而急劇上升,從而停頓響應(yīng)。-Xmx最大內(nèi)存值對Tomcat能夠持續(xù)響應(yīng)高并發(fā)的影響持續(xù)高并發(fā)懇求狀態(tài)下,有6次測試是由于tomcat內(nèi)存到達(dá)指定最大值導(dǎo)致響應(yīng)變慢,直至內(nèi)Tomcat最大內(nèi)存對tomcat值,應(yīng)當(dāng)可以增加Tomcat響應(yīng)高并發(fā)懇求的總數(shù),進(jìn)而延長WEB效勞能夠支撐峰值的時(shí)間。各架構(gòu)下的性能分析Nginx+2Tomcat的最大并發(fā)性低于單Tomcat,Nginx+2Tomcat最快為8980條/Tomcat為12986條/秒,分析可能是受nginx所在效勞器性能影響所致。單tomcat在配置1.7g最大內(nèi)存時(shí),在持續(xù)超過1479條/秒的并發(fā)懇求下,在穩(wěn)定支撐約240萬次響應(yīng)后,Tomcat內(nèi)存到達(dá)1.7上限,之后Tomcat響應(yīng)會急劇變慢,錯包急劇上升。Nginx+2tomcat架構(gòu)下,2個(gè)tomcat分別配置1.7g最大內(nèi)存時(shí),在持續(xù)超過2900條/秒的并發(fā)540Tomcat內(nèi)存都會到達(dá)1.7會急劇變慢,但錯包狀況并未消滅。在Nginx+2tomcat,同時(shí)配置了緩存的狀況下,可以到達(dá)1.5萬以上的并發(fā)處理力氣評測結(jié)果單個(gè)tomcat的處理力氣在500條/秒左右單個(gè)tomcat能穩(wěn)定支持每秒500左右的并發(fā)懇求。Nginx+Tomcat比單個(gè)Tomcat更穩(wěn)定,不易消滅錯包,可以通過擴(kuò)大tomcat集群〔增tomcat效勞器〕來提升系統(tǒng)的并發(fā)力氣單個(gè)tomcat在超出并發(fā)力氣的提求下,處理力氣大大下降,并消滅大量錯包,而承受Nginx+2Tomcat架構(gòu)在各種測試下,均未消滅錯包,但處理力氣也會下降。Nginx+2Tomcat能支持每秒1000左右的并發(fā)懇求。所以可以通過加tomcat效勞器來提升系統(tǒng)的并發(fā)力氣,但在tomcat的總體處理力氣超過nginx的處理力氣時(shí)無效。Nginx+2Tomcat配置了緩存后,靜態(tài)頁面的并發(fā)力氣不再受tomcat的限制,單個(gè)nginx的并發(fā)處理力氣能到達(dá)1.5萬以上。配置了緩存后,nginx+2tomcat的處理力氣實(shí)測數(shù)據(jù)超過了1.5萬次/秒,而單個(gè)tomcat可以支撐500次/Nginx+30個(gè)Tomcat集群可以支撐1.5萬次/秒的并發(fā)處理。配置選型網(wǎng)絡(luò)帶寬只考慮門戶訪問的帶寬占用,后臺治理頁面等其他業(yè)務(wù)訪問與門戶訪問相差2-3個(gè)數(shù)量級,這一局部網(wǎng)絡(luò)流量占用無視。同時(shí)考慮網(wǎng)絡(luò)帶寬利用率〔70%〕依據(jù)業(yè)務(wù)設(shè)計(jì)力氣,每秒網(wǎng)絡(luò)流量=WEB網(wǎng)站每秒鐘訪問流量=〔每次訪問占用的帶寬×每秒訪問次數(shù)〕/帶寬利用率=(200K*8*n)/0.7并發(fā)力氣占用的網(wǎng)絡(luò)帶寬100次/秒228并發(fā)力氣占用的網(wǎng)絡(luò)帶寬100次/秒228M200次/秒457M500次/秒1442M1000次/秒2286M架構(gòu)和硬件配置選型硬件配置參考序號序號1產(chǎn)品功能主機(jī)設(shè)備參考型號、配置TPMC1.1IBMSystemx3850M2,46數(shù)據(jù)庫效勞器2416G。SAS587GB。4U機(jī)架,684508集成雙千兆以太網(wǎng)接口,兩塊千兆的光纖網(wǎng)卡。1.2 WEB
IBMSystemx3850M2,4個(gè)處理器,每處理器為6248G。SAS587GB。4U機(jī)架,684508集成雙千兆以太網(wǎng)接口,兩塊千兆的光纖網(wǎng)卡。2G,2U2G,2U2網(wǎng)絡(luò)設(shè)備2.1負(fù)載均衡器RADWARE應(yīng)用負(fù)載均衡設(shè)備,型號:為ODS-504,有,4個(gè)可選的千兆位電端口,1G主內(nèi)存,500M處理力氣(最大可通過License4G)2.2防火墻CISCOASA5520網(wǎng)絡(luò)吞吐:450安全過濾:225MB網(wǎng)絡(luò)端口:4個(gè)千兆以太網(wǎng)接口+1個(gè)快速用戶數(shù)限:無用戶數(shù)限制用戶VPN2.2交換機(jī)QuidwayS3952P-EI傳輸速率:10Mbps/100Mbps/1000Mbps網(wǎng)絡(luò)標(biāo)準(zhǔn):IEEE802.1Q、IEEE802.1D端口數(shù)量:48、1000Base-X傳輸模式:全雙工/半雙工自適應(yīng)背板帶寬:32Gbps3存儲設(shè)備3.1光纖存儲柜光纖存儲柜〔EVA4100〕3
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年B116型一氧化碳中溫變換催化劑合作協(xié)議書
- 2025年大功率電源及系統(tǒng)合作協(xié)議書
- 2025年微電子組件合作協(xié)議書
- 北京和協(xié)航電科技有限公司的射頻研發(fā)筆試題
- 2025年中班幼兒園教師年度個(gè)人工作總結(jié)(四篇)
- 2025年節(jié)能高效果汁濃縮設(shè)備合作協(xié)議書
- 2025年鄉(xiāng)村企業(yè)職工勞動合同(五篇)
- 2025年產(chǎn)品租賃協(xié)議樣本(2篇)
- 2025年九年級上冊數(shù)學(xué)教學(xué)工作總結(jié)模版(三篇)
- 2025年二人合伙開店協(xié)議標(biāo)準(zhǔn)版本(三篇)
- 《水電站繼電保護(hù)》課件
- 沈陽市第一屆“舒心傳技 莘紳向陽”職業(yè)技能大賽技術(shù)工作文件-27-全媒體運(yùn)營師
- 2025年多彩貴州航空有限公司招聘筆試參考題庫含答案解析
- 安全生產(chǎn)網(wǎng)格員培訓(xùn)
- 深圳建筑工程公司財(cái)務(wù)管理制度
- 統(tǒng)編版語文三年級下冊第三單元綜合性學(xué)習(xí)中華傳統(tǒng)節(jié)日 活動設(shè)計(jì)
- 降低順產(chǎn)產(chǎn)婦產(chǎn)后2小時(shí)失血率PDCA成果匯報(bào)書
- 小學(xué)數(shù)學(xué)分?jǐn)?shù)四則混合運(yùn)算300題帶答案
- 2024年考研(英語一)真題及參考答案
- 林下野雞養(yǎng)殖建設(shè)項(xiàng)目可行性研究報(bào)告
- 心肺復(fù)蘇術(shù)課件2024新版
評論
0/150
提交評論