摘要:文章詳細(xì)闡述了Web緩存技術(shù)的原理,研究了在具有Web緩存器的網(wǎng)絡(luò)中本地存儲器對請求對象拷貝傳送的過程,深入講解了Web緩存替換的思想,以及利用Web緩存如何有效的降低網(wǎng)絡(luò)業(yè)務(wù)流量,緩解網(wǎng)絡(luò)擁塞等問題。
關(guān)鍵詞:網(wǎng)絡(luò);流量;緩存;服務(wù)器
中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9599 (2012) 18-0000-02
1 引言
近年來,伴隨著網(wǎng)絡(luò)的飛速發(fā)展,越來越多的用戶接入到因特網(wǎng)中,使網(wǎng)絡(luò)承載的業(yè)務(wù)量越來越繁重,網(wǎng)絡(luò)流量呈爆炸式增長。據(jù)統(tǒng)計因特網(wǎng)的上網(wǎng)用戶和業(yè)務(wù)量幾乎平均每6個月就翻一番,網(wǎng)絡(luò)的應(yīng)用以前所未有的速度增長。用戶對Web服務(wù)器的訪問量過大,導(dǎo)致系統(tǒng)難以承受其壓力,如何緩解網(wǎng)絡(luò)中業(yè)務(wù)流量的增長,減小訪問時延,提高網(wǎng)絡(luò)性能等一系列問題逐漸成為人們關(guān)注的焦點(diǎn)。
2 Web緩存
Web緩存正是緩解這一矛盾的有效技術(shù)手段。Web緩存技術(shù)采用信息本地化的機(jī)制,將緩存器布置于距客戶端較近的位置,把客戶端最近請求過的對象的拷貝保存到本地緩存器中。采用Web緩存技術(shù)可以降低對初始服務(wù)器的訪問壓力,縮短用戶發(fā)送請求時由于需要到達(dá)初始服務(wù)器而產(chǎn)生的信息傳輸距離和時延。
3 Web緩存技術(shù)的原理
那么,Web緩存技術(shù)的工作原理是怎樣實(shí)現(xiàn)的,我們看一下客戶端瀏覽器對一個對象的請求過程。當(dāng)瀏覽器準(zhǔn)備請求一個對象時,首先瀏覽器與Web緩存器之間建立一個TCP連接,客戶端瀏覽器向Web緩存器中的對象發(fā)送一個HTTP請求。Web緩存器將檢查本地磁盤空間中是否對該對象的拷貝進(jìn)行了存儲,如果在本地存儲空間中找到了該對象的儲存副本,則Web緩存器就用HTTP響應(yīng)報文將該對象的拷貝發(fā)送給客戶端瀏覽器,這時的Web緩存器就相當(dāng)于初始服務(wù)器,因?yàn)樵谶@個過程中Web緩存器具與初始服務(wù)器同樣的功能,接收了瀏覽器的請求,并發(fā)回了HTTP響應(yīng)報文。當(dāng)Web緩存器在本地存儲空間中未找到該請求對象的存儲副本,它就會與該對象的初始服務(wù)器建立TCP連接,Web緩存這時就相當(dāng)于客戶端瀏覽器。它會向初始服務(wù)器發(fā)送獲取該對象的HTTP請求,初始服務(wù)器在接到請求后,將請求的對象發(fā)送給Web緩存器。Web緩存器接收到該請求對象后,在本地存儲器中保存該對象的副本,利用與客戶端瀏覽器已經(jīng)建立起來的TCP連接發(fā)送拷貝對象到客戶端瀏覽器,如有其他用戶再次請求該對象時,Web緩存器就可以從本地存儲中直接提取最初從初始服務(wù)器中請求的該對象的拷貝,由Web緩存器直接發(fā)送給用戶執(zhí)行初始服務(wù)器的功能。從Web緩存器工作的過程我們看到,Web緩存器既是客戶端又是服務(wù)器。
4 Web緩存替換
Web緩存空間是有限的,隨著時間的推移,緩存中剩余的空間將不足以存儲新的請求對象,先前儲存過的一些拷貝對象將與初始服務(wù)器內(nèi)存儲的剛剛更新過的對象產(chǎn)生差異。為了更好的利用有限的存儲資源,Web緩存器會保留價值較高的訪問對象,將價值較低的訪問對象移出緩存,以便存儲當(dāng)前更具有價值的信息。緩存替換的方法一般會基于以下幾種思想:
4.1 基于用戶訪問時間的間隔
最近一次用戶訪問某個對象的時間離現(xiàn)在越遠(yuǎn),今后該對象被訪問的可能性也就越小,越適宜被替換?;谶@種思想在Web緩存中可以根據(jù)用戶請求對象的時間間隔長短作為緩存替換的依據(jù)。在Web緩存器中請求間隔小的對象在某種意義上代表著這個請求對象在將來被其他用戶再次請求的機(jī)會也更大。依據(jù)這一原則,Web緩存器可以根據(jù)緩存器中實(shí)際剩余空間的大小,把請求時間間隔大的文件信息替換掉,按照請求時間長短依次淘汰那些請求時間間隔相對較大的信息資源。
4.2 基于用戶訪問頻率
最近被訪問過的對象在將來一段時間內(nèi)被訪問的命中率會較大,從Web緩存中移出命中率較小的對象拷貝,保留命中率相對較高的訪問對象的拷貝,將訪問對象的命中率作為緩存替換依據(jù)。
用戶請求對象的命中次數(shù)與用戶請求對象的總數(shù)之比為命中率,命中率是衡量緩存性能的一個重要指標(biāo)。當(dāng)一個用戶發(fā)出HTTP請求時,這次請求的對象數(shù)據(jù)正好已經(jīng)在Web緩存器中存儲,我們稱這樣的請求過程為一次“命中”,命中對象說明這個請求對象先前曾被用戶訪問過。在實(shí)際的訪問過程中,一些實(shí)時性很強(qiáng)的對象雖然在當(dāng)時具有較高的命中率,但是經(jīng)過一段時間以后,已經(jīng)變得不再具有被訪問的價值。Web緩存空間不可能無限制的增大,如果一直將這些對象保存在緩存中,會導(dǎo)致緩存空間的浪費(fèi),所以在有限的空間條件下,必須從緩存空間中淘汰一些存儲價值較低的緩存數(shù)據(jù)來提高命中率,保障Web緩存器的服務(wù)性能。
4.3 基于對象大小
當(dāng)緩存剩余空間較小時,僅簡單的考慮存儲對象大小,當(dāng)發(fā)生對象替換時,將容量最大的存儲對象從緩存空間中移出。這種思想是基于在緩存中移除更多的空間去存儲一些容量小而數(shù)量大的請求對象,這樣有可能提高命中率,因?yàn)閷⒆畲蟮膶ο笠瞥鼍彺嬷?,會有更多的空間容納其他請求對象供用戶去訪問。
4.4 基于前綴緩存技術(shù)
Web磁盤緩存容量有限,完整的存儲大容量的視頻文件將占用緩存極大的空間。據(jù)研究分析,用戶在使用流媒體服務(wù)時,并不是觀看了整個視頻文件,很大一部分用戶是觀看了視頻文件的前一部分,而能一直觀看完該視頻文件的用戶卻很少。在這種情況下幾乎不會被訪問到的視頻后半部分文件占用了大量的緩存空間,對緩存空間造成了極大的浪費(fèi)。前綴緩存技術(shù)就是將視頻文件的前一部分片段保存于緩存中,而后續(xù)的片段可以在用戶觀看視頻片段前部分的同時通過Web緩存器向初始服務(wù)器發(fā)送請求而后獲得,前綴緩存技術(shù)在未犧牲服務(wù)質(zhì)量的前提下有效地利用了緩存空間。
5 Web緩存降低了網(wǎng)絡(luò)流量
在實(shí)際的網(wǎng)絡(luò)規(guī)劃中,一個安裝在高速局域網(wǎng)絡(luò)內(nèi)的Web緩存器可以大大降低該局域網(wǎng)在因特網(wǎng)上產(chǎn)生的Web流量。因?yàn)楦咚倬钟蚓W(wǎng)的路由器通過一條帶寬容量相對較大的主干鏈路與因特網(wǎng)相連,局域網(wǎng)上的各個用戶會通過這條主干鏈路對因特網(wǎng)上的初始服務(wù)器進(jìn)行訪問。用戶對初始服務(wù)器的請求需經(jīng)過多次的跳轉(zhuǎn),每一次跳轉(zhuǎn)都會占用因特網(wǎng)上某一段鏈路的帶寬,增加網(wǎng)絡(luò)的流量,可能要經(jīng)過多次的跳轉(zhuǎn)才能達(dá)到請求對象的初始服務(wù)器,多次的跳轉(zhuǎn)增加了用戶的訪問時延,消耗了有限的網(wǎng)絡(luò)帶寬資源,大量的訪問產(chǎn)生了大量的網(wǎng)絡(luò)流量,最終可能導(dǎo)致網(wǎng)絡(luò)的擁塞。網(wǎng)絡(luò)中大約有超過80%的用戶訪問的是20%的內(nèi)容,在局域網(wǎng)內(nèi)部安裝Web緩存器,研究表明Web緩存可使請求對象的命中率達(dá)到20%-70%。我們?nèi)?0%為局域網(wǎng)內(nèi)的命中率來進(jìn)行說明,安裝了Web緩存器的局域網(wǎng)可以緩解局域網(wǎng)內(nèi)給因特網(wǎng)帶來的40%的用戶訪問量,這40%用戶的請求立即會得到Web緩存器的響應(yīng)。也就是說只有剩下60%的用戶需要經(jīng)過主干鏈路,去訪問因特網(wǎng)上的初始服務(wù)器,而那40%用戶的訪問需求由Web緩存器就可以滿足,這樣這40%的用戶由于原先需要訪問初始服務(wù)器而產(chǎn)生的流量在局域網(wǎng)內(nèi)部就會被終止,大大降低了因特網(wǎng)上的Web流量。
6 結(jié)束語
Web緩存充分利用了本地存儲技術(shù),將頻繁用于訪問的數(shù)據(jù)和網(wǎng)頁存儲于本地磁盤空間中。Web緩存器的應(yīng)用緩解了初始服務(wù)器的訪問壓力,同時大大縮短了客戶機(jī)請求的響應(yīng)時間,從整體上降低了因特網(wǎng)上的Web流量,避免了因大量的業(yè)務(wù)流而發(fā)生的網(wǎng)絡(luò)擁塞,改善了網(wǎng)絡(luò)的應(yīng)用性能。
[作者簡介]肖寧(1978-),男,遼寧開原人,研究生,助理工程師,技術(shù)十一級,解放軍國防信息學(xué)院八系二十一隊(duì),研究方向:軍事通信學(xué)。