中小型網(wǎng)站架構(gòu)分析及優(yōu)化

2020-08-22    分類: 網(wǎng)站建設(shè)

先看網(wǎng)站架構(gòu)圖:

以上網(wǎng)站架構(gòu)廣泛運(yùn)用中大型網(wǎng)站中,本文從架構(gòu)每一層分析所用主流技術(shù)和解決手段,有助于初入網(wǎng)站運(yùn)維朋友們,進(jìn)一步對(duì)網(wǎng)站架構(gòu)認(rèn)識(shí),從而自己形成一套架構(gòu)概念。

第一層:CDN

國(guó)內(nèi)網(wǎng)絡(luò)分布主要南電信北聯(lián)通,造成跨地區(qū)訪問(wèn)延遲大問(wèn)題,對(duì)于有一定訪問(wèn)量網(wǎng)站來(lái)說(shuō),增加CDN(內(nèi)容分發(fā)網(wǎng)絡(luò))層可有效改善此現(xiàn)象,也是網(wǎng)站加速的最好選擇。CDN把網(wǎng)站頁(yè)面緩存到全國(guó)分布的節(jié)點(diǎn)上,用戶訪問(wèn)時(shí)從最近的機(jī)房獲取數(shù)據(jù),這樣大大減少網(wǎng)絡(luò)訪問(wèn)的路徑。如果想自己搭建CDN,不建議這么做,因?yàn)槭裁茨兀科鋵?shí)說(shuō)白了,就是什么事別往運(yùn)維上攔。CDN架構(gòu)部署不復(fù)雜,影響效果的因素卻很多,后期管理維護(hù)也比較復(fù)雜,想達(dá)到預(yù)期的效果確非易事,這是一個(gè)費(fèi)力不討好的活,最后老板還是感覺(jué)是你能力不足。建議找專做CDN的公司,費(fèi)用也不貴,有抗流量攻擊能力,效果也很好,運(yùn)維也少很多事,何樂(lè)而不為呢!

第二層:反向代理(網(wǎng)頁(yè)緩存)

如果CDN沒(méi)有緩存要請(qǐng)求的數(shù)據(jù)則向這層發(fā)起請(qǐng)求,在代理服務(wù)器配置緩存功能(本地),代理服務(wù)器就查找本地緩存是否有CDN請(qǐng)求的數(shù)據(jù),如果有就直接返回給CDN,如果沒(méi)有則請(qǐng)求后端負(fù)載均衡器然后轉(zhuǎn)發(fā)給WEB服務(wù)器返回?cái)?shù)據(jù)給代理服務(wù)器,代理服務(wù)器再將結(jié)果給CDN。代理服務(wù)器一般緩存不經(jīng)常變動(dòng)的靜態(tài)頁(yè)面,如image、js、css、html等,主流的緩存軟件有Squid、Varnish、Nginx。

第三層:負(fù)載均衡

訪問(wèn)量較大的網(wǎng)站都會(huì)用到負(fù)載均衡,因?yàn)檫@是解決單臺(tái)服務(wù)器性能瓶頸的最好辦法。反向代理將請(qǐng)求轉(zhuǎn)發(fā)給負(fù)載均衡器,負(fù)載均衡器根據(jù)算法(輪訓(xùn)、負(fù)載情況選擇后端等)交給后端WEB服務(wù)處理,WEB服務(wù)處理完成后直接返回?cái)?shù)據(jù)給反向代理服務(wù)器。負(fù)載均衡合理分配請(qǐng)求給后端多臺(tái)WEB服務(wù)器,減輕單臺(tái)服務(wù)器并發(fā)負(fù)載,并保證服務(wù)可用性。主流的負(fù)載均衡軟件有LVS、HAProxy、Nginx。

第四層:WEB服務(wù)

WEB服務(wù)是處理用戶請(qǐng)求的,WEB服務(wù)處理效率,直接影響到訪問(wèn)速度,為避免這層因素造成訪問(wèn)慢,應(yīng)對(duì)其進(jìn)行調(diào)優(yōu),讓W(xué)EB服務(wù)發(fā)揮到好狀態(tài)。常見(jiàn)的WEB服務(wù)有Apache和Nginx。

Apache優(yōu)化:

1).mod_deflate壓縮模塊

查看是否加載:

#apachectlM|grepdeflate

如果沒(méi)有安裝使用apxs編譯進(jìn)去:

#/usr/local/apache/bin/apxscIAapache源碼目錄/modules/mod_deflate.c

deflate配置參數(shù):

DeflateCompressionLevel6#壓縮等級(jí)(1-9),數(shù)值越大效率越高,消耗CPU也就越高SetOutputFilterDEFLATE#啟用壓縮AddOutputFilterByTypeDEFLATEtext/htmltext/plaintext/xml#壓縮類型AddOutputFilterByTypeDEFLATEcssjshtmlhtmxmlphp

2).mod_expires緩存模塊

查看是否加載:

#apachectlM|grepexpires

如果沒(méi)有安裝使用apxs編譯進(jìn)去:

#/usr/local/apache/bin/apxscIAapache源碼目錄/modules/mod_expires.c

再在httpd.conf啟用模塊:LoadModuleexpires_modulemodules/mod_expires.so

緩存機(jī)制有三種用法:全局、目錄和虛擬主機(jī)

全局配置,在配置文件末尾添加:

ExpiresActiveon#啟用有效期控制,會(huì)自動(dòng)清除已過(guò)期的緩存,然后從服務(wù)器獲取新的ExpiresDefault"accessplus1days"#默認(rèn)任意格式的文檔都是1天后過(guò)期

12345下一頁(yè)

網(wǎng)站標(biāo)題:中小型網(wǎng)站架構(gòu)分析及優(yōu)化
文章鏈接:http://www.bm7419.com/news26/85476.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、自適應(yīng)網(wǎng)站、云服務(wù)器、動(dòng)態(tài)網(wǎng)站網(wǎng)站收錄、網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

小程序開(kāi)發(fā)