999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

緩存技術(shù)在Web中的應用研究*

2011-12-08 00:24:02
濰坊學院學報 2011年4期
關(guān)鍵詞:頁面設(shè)置數(shù)據(jù)庫

王 鑫

(濰坊學院,山東 濰坊 261061)

Internet的快速發(fā)展使Web服務器必須面對訪問者數(shù)量快速增加的局面,這就要求網(wǎng)絡(luò)服務器需要具備提供大量并發(fā)訪問服務的能力。因此,對于提供大負載Web服務的服務器來講,CPU、I/O處理能力很快會成為瓶頸,用戶訪問的速度會下降,等待網(wǎng)絡(luò)反應的時間將加長。調(diào)查證明,用戶愿意等待網(wǎng)站反應的平均時間不足10秒。所以,許多運營商和服務提供商正在斥巨資來提高網(wǎng)絡(luò)帶寬。

然而,僅僅依靠額外的帶寬還不能解決網(wǎng)絡(luò)等待時間或加速響應緩慢的源服務器的問題。研究發(fā)現(xiàn), H TTP協(xié)議在等待建立連接方面花費了比傳輸數(shù)據(jù)更多的時間,如果能夠減少等待的時間,也就可以加速網(wǎng)絡(luò)的反應速度。我們再看一下Web服務器方從接收到一個用戶的請求到將用戶所要的數(shù)據(jù)傳輸給對方的過程,對每一個請求,服務器都要先在硬盤上找到相應的對象,某些請求還要訪問數(shù)據(jù)庫,然后將數(shù)據(jù)讀出,放入內(nèi)存中,再傳輸給用戶。所以,可以通過減少建立網(wǎng)絡(luò)連接的次數(shù)和加快服務器端的處理速度來提高整個網(wǎng)絡(luò)的反應速度。

緩存技術(shù)有效地縮短了網(wǎng)絡(luò)用戶取回文檔的時間,加快了Web服務器的反應速度。它通過將內(nèi)容移到距離用戶更近的地方解決了這些問題。緩存技術(shù)不僅有利于終端用戶,而且也有利于互聯(lián)網(wǎng)服務提供商和內(nèi)容提供商。由于未來所有企業(yè)都將實現(xiàn)電子商務,都要面臨峰值負載下快速響應用戶的問題,因此緩存技術(shù)的合理應用將為所有的電子商務網(wǎng)站提供重要的競爭優(yōu)勢。

1 Web中緩存技術(shù)的應用

1.1 客戶端的緩存技術(shù)

在瀏覽器中使用緩存技術(shù)的思路很簡單,把用戶以前訪問的文檔都緩存起來,在用戶以后訪問同樣的文檔時,就可以從瀏覽器的緩存中取出,而不需要重新建立一次H TTP連接。

現(xiàn)今的瀏覽器對一些高級功能如XML、DH TML、Java小程序和遠程數(shù)據(jù)服務提供支持,使用相應的功能可以執(zhí)行客戶機驗證數(shù)據(jù)緩存,免去了到Web服務器的往返。可以降低Web服務器上的負載,并能減少網(wǎng)絡(luò)通信量以及服務器訪問的任何后臺資源。所以,如果可能,則應該在瀏覽器里擴大緩存容量。

1.2 代理端的緩存技術(shù)

建立一個緩存代理可以使分布的用戶訪問網(wǎng)絡(luò)時都經(jīng)過這個代理。這樣能加快使用該代理用戶的網(wǎng)絡(luò)反應速度,因為一個用戶訪問一個文檔時,由于該文檔在早些時候被另一個該局域網(wǎng)的用戶訪問過而在緩存中,對這個用戶來說,文檔就可以直接從代理的緩存中獲得,而不必到原始的Web服務器中去取了。所以,如果客戶的Web瀏覽器配置Proxy代理服務器的IP地址及TCP端口號,這樣客戶的所有Web請求都經(jīng)過緩存的代理訪問Internet。在緩存服務器代理用戶請求訪問Internet之前,它先檢查自身是否已經(jīng)緩存了用戶請求訪問的Web對象,如果已經(jīng)緩存并且沒有過期,那么就用本地緩存的Web對象響應客戶的請求,從而加快了用戶的訪問時間,并且節(jié)省了寶貴的廣域網(wǎng)鏈路帶寬資源。此種類型稱為Forward -Proxy正向代理。

另一種類型稱為 Transparent-cache透明緩存,與Fo rw ard-Proxy正向代理類型的唯一區(qū)別在于,無需在客戶的Web瀏覽器中配置任何信息,現(xiàn)在有多種設(shè)備能與緩存服務器配合可實現(xiàn)代理功能。

1.3 服務器端的緩存技術(shù)

服務器端緩存的目的是縮短服務器對用戶請求的反應時間、增加服務器的吞吐量。

1.3.1 內(nèi)容緩存

當用戶訪問Web服務器存取H TML頁面時,一般Web服務器需要從硬盤上讀取H TM L文件,然后傳輸給用戶。每次用戶訪問,Web服務器都重復相同的處理過程。

內(nèi)容緩存則將用戶經(jīng)常訪問的H TML頁面或者Web處理結(jié)果存儲在服務器的內(nèi)存當中,在用戶請求某一服務時,服務器首先從內(nèi)存中檢索是否有相同的結(jié)果,如果存在,則不必重新處理,而直接將結(jié)果返給用戶。由于內(nèi)存的存取速度遠比硬盤的存取速度快,所以服務器系統(tǒng)的響應時間可以縮短。

1.3.2 數(shù)據(jù)庫連接緩存

我們知道,通常用戶通過Web服務器訪問數(shù)據(jù)庫時,Web上的應用程序和數(shù)據(jù)庫服務器之間需要首先建立連接,然后才能存取數(shù)據(jù),在處理結(jié)束后,這種連接被關(guān)閉。每次用戶訪問都需要重復這樣的步驟。由于數(shù)據(jù)庫連接過程比較消耗系統(tǒng)資源,而且時間開銷也比較大,尤其是利用公共網(wǎng)關(guān)接口CGI(Common Gateway Interface)進行連接時,效率尤其低,通常情況下,連接過程對系統(tǒng)響應時間的影響是很大的。

數(shù)據(jù)庫連接緩存是指在Web服務器和數(shù)據(jù)庫服務器之間建立經(jīng)常性的連接,當用戶需要訪問數(shù)據(jù)庫時,直接利用這些已經(jīng)存在的連接,操作結(jié)束后,連接仍然保持而不關(guān)閉,這樣一來,用戶訪問數(shù)據(jù)庫的步驟被簡化,進而提升系統(tǒng)的效率。

2 緩存內(nèi)容的替換策略

Web訪問模式具有較好的時間局部性(最近訪問的對象在最近的將來還可能被再次訪問),這一點就導致了基于LRU的替換策略應是緩存的首選策略;另外,Web對象的訪問頻度在短時間內(nèi)不穩(wěn)定,但在較長的時間段內(nèi)相對平穩(wěn),因此在緩存替換策略中通常還要考慮到長期訪問頻度的影響。

基于緩存的上述特點,可用于緩存中的替換算法如下:

(1)FIFO:這是最簡單的一種替換策略,就是先進先出。當然這種替換策略的效率也是最低的。

(2)LRU(Least Recently U sed):最近最久未被訪問的對象被替換,最先移出最近最少使用的對象,其優(yōu)點是實現(xiàn)簡單(基于時間局部性,過去最久未被訪問的在將來最不可能被訪問),此策略用在緩存中是很有效的。其缺點是沒有考慮對象大小或延遲時間。

(3)Size策略:首先清除大對象,如果一樣大,那么最長時間沒有被使用的對象被首先替換掉。其優(yōu)點是移出大文檔,可以保留更多的小文檔,產(chǎn)生更高的請求命中率。其缺點是可能使小文檔永遠留在緩存器中,字節(jié)命中率偏低,且再次下載大對象時,占用網(wǎng)絡(luò)資源很多。

(4)GD-Size算法:Greedy-Dual Size算法。這是個基于代價的貪婪算法。緩存器中的每個頁面都有相應的價值H,當網(wǎng)頁被帶進緩存器時,該網(wǎng)頁的 H值為1/Size。發(fā)生替換時,最小 H的頁面(minH)被換出,剩下的頁面的H值變?yōu)樘鎿Q前的H值減去minH。如果頁面被再次訪問,則恢復其原來的價值。該算法的優(yōu)點是不再被訪問的頁面會被清除,克服了Size算法的缺點。

但是,在傳統(tǒng)的緩存替換算法中的LFU(least frequency used)和LRU(我們已知道LRU是將上一次使用時間最短的數(shù)據(jù)優(yōu)先存放在緩存中,LFU則是將過去使用頻率高的數(shù)據(jù)優(yōu)先保存在緩存中)這兩種算法代表了兩個極端,LFU使用數(shù)據(jù)的訪問頻率,有利于數(shù)據(jù)的總體優(yōu)化使用,但不利于數(shù)據(jù)訪問方式的變化和猝發(fā)訪問。LRU依據(jù)最近一次的訪問時間,能較好地適應數(shù)據(jù)訪問的變化,但只是在訪問時間上的局部優(yōu)化,沒有考慮數(shù)據(jù)長期的訪問特性。有一些算法如LRU的變種LRFU和LRU-K等試圖在數(shù)據(jù)的訪問時間和訪問頻率兩方面達到平衡。如LRFU算法給近幾次訪問時間乘上一個與訪問頻率有關(guān)的權(quán)重,以加權(quán)值來取得兩者之間的平衡。LRU-K算法則是使用最后第 K次訪問時間來擴展LRU算法,依靠K值的大小進行平衡。它們都是對訪問時間的修正,是對LRU算法的改進,我們在緩存的替換算法中可以采用。還有幾種可以利用的改進算法如下:

(1)Log(Size)+LRU(LRU-M IN):先判斷大小,先讓大對象使用LRU策略,然后再對連續(xù)的小對象使用。

(2)LRU-Threshold:在LRU上設(shè)置一個上限值,大于它的從不被緩存。當對于不需要發(fā)生替換的緩存大小,磁盤大小較小時采用這個策略。可以保證一定緩存空間,并有比LRU-M IN更高的性能。這個策略的缺點是,理想上限的值主要依賴于緩存的工作量和磁盤大小。

(3)先使用LRU-M IN策略,直到緩存大小達到可達磁盤大小的100%,改用LRU-Threshold,設(shè)置上限,上限逐漸減小直到緩存大小達到低水準。

(4)Hybrid:目標為減小總延遲。基本的LFU算法總是替換具有最低訪問頻度的對象,對它的改進也要考慮到不同的對象大小和失效開銷。在Hybrid算法中,設(shè)計了一個函數(shù),計算緩存里存放的對象的值。函數(shù)值最小的對象被替換。例如,在服務器S上的對象P的函數(shù)依賴如下參數(shù):Cs,連接服務器S的時間; Bs,到服務器S的帶寬;Np,P進入緩存后被訪問的次數(shù);Zp,對象P的大小(字節(jié)數(shù))。函數(shù)定義如下:

W b和W n是常數(shù),Cs和Bs的估算基于最近的過去中從服務器S取得的文檔數(shù)量。

3 Web中緩存內(nèi)容的更新

要讓用戶訪問到最新的內(nèi)容,就要保證在當前緩存中的對象必須是最新的。所以,對已經(jīng)緩存的內(nèi)容進行及時更新是緩存能發(fā)揮作用的另一關(guān)鍵所在。

緩存靜態(tài)頁面后,更新時間間隔可能很長,而緩存的動態(tài)頁面需根據(jù)實際情況動態(tài)更新。為了保證客戶瀏覽到最新的動態(tài)內(nèi)容,可以在服務器端利用三種方法決定緩存何時被清除或過期:時間、事件、手動。

3.1 時間

通過在服務器中設(shè)置網(wǎng)頁的生存時間來自動更新緩存內(nèi)容。

3.1.1 頭標志

使用ASP技術(shù)的電子商務網(wǎng)站,可以在服務器上設(shè)置Expires頭標志,或者通過使用標記來設(shè)置到期時間。在服務器端的ASP文件中可以設(shè)置Response.Expires或Response.ExpiresA bsolute,要設(shè)置頁面使其過多長分鐘后到期,如15分鐘,可以如下設(shè)置:

若將Response.Expires的設(shè)置為負數(shù)或0,則可以禁用緩存。用另外一個屬性Response.ExpiresAbsolute將可以設(shè)置內(nèi)容過期的具體時間:

如果使用標記來設(shè)置Expires頭標志,可以使用下面的語法:

在PHP中,一個可緩存的頁面必須包含Last-Modified標記。

一般純靜態(tài)頁面本身都會有Last-Modified信息,動態(tài)頁面需要通過函數(shù)強制加上:

另外,必須有Expires或Cache-Control:max-age標記設(shè)置頁面的過期時間。對于靜態(tài)頁面,通過apache的mod_expires根據(jù)頁面的M IM E類型設(shè)置緩存周期。對于動態(tài)頁面,則可以直接通過寫入 H TTP返回的頭信息,比如對于新聞首頁index.php可以是20分鐘,而對于具體的一條新聞頁面可能是1天后過期。比如:在php中加入了1個月后過期:

3.1.2 “懶惰”更新

我們知道Internet Exp lo rer 5有一項叫作Lazy Update(“懶惰”更新)的新特性。同樣,利用Lazy Update性能可使服務器將一個對象緩存起來,同時又可以計算此對象的被點擊數(shù)。這對廣告圖像、首頁或搜索頁是非常有用的。在這些頁面上,用戶可以立即看到頁面,又可以在某些地方更新內(nèi)容并且跟蹤記錄有多少人已看過你的頁面。對于一個Lazy Update頁面,在它首次被訪問時,其上的對象就被下載并被高速緩存起來。接下來,用戶看到的是被緩存起來的內(nèi)容。如果服務器有了新的內(nèi)容,則該頁面將會在后臺被下載到高速緩存中。當用戶下次訪問該頁面時,將顯示被更新的內(nèi)容。還可以為某些緩存頁面記錄更新時間,時間到期后,便立即連接Web服務器,刷新緩存內(nèi)容,在此,可以利用H TTP頭信息使用兩種新的時間間隔指示:p re-check和post-check。用p re-check擴展名定義一段時間間隔(以秒記):在這段時間間隔之后,一個對象在顯示給用戶之前應被選中進行更新。選中對象也可以發(fā)生在該對象已經(jīng)顯示給用戶之后,但是,要保證在用戶下次想要看這個對象時,被高速緩存起來的副本是更新過的。用post -check擴展名定義另一段時間間隔(以秒記):在這段時間之后,在顯示給用戶之前,該對象被選中進行更新。

3.2 事件

Web服務器還應該能夠通過某一事件被觸發(fā)確保緩存內(nèi)容是最新的。這些事件可能是來自數(shù)據(jù)庫、客戶端訪問、內(nèi)容管理系統(tǒng),或任何可被追蹤的事件。例如,當數(shù)據(jù)庫某個項目的數(shù)值被改變時會導致某些緩存內(nèi)相關(guān)的頁面實體被清除。服務器如果有外部事件管理功能,就可以讓用戶能輕易地配置對某一文件的緩存操作。

3.3 手動

根據(jù)實際情況,通過發(fā)出手動指令,管理員能在任何時間更新頁面實體或整個緩存,使之真正成為市場驅(qū)動的Web網(wǎng)站,從而能保持產(chǎn)品信息隨條件改變而實時更新。

4 結(jié)束語

Web中的緩存技術(shù)加快了最終用戶訪問Internet的時間,節(jié)省了與寬帶接入服務提供商聯(lián)接的費用,不僅滿足了網(wǎng)站最終用戶對訪問速度的要求,加強了客戶的滿意度,同時也減輕了網(wǎng)站原始Web服務器的負載,這對網(wǎng)站帶來的好處是顯而易見的。另外,對緩存內(nèi)容的進行合理替換和即時更新更是必需的,這也正是緩存能真正發(fā)揮作用的關(guān)鍵所在。

[1]Larry L Peterson.Computer Netwo rks A System s App roach[M].北京:機械工業(yè)出版社,2004.

[2]Kevin Dow nes.Internetworking Technology Handbook[M].Macmillan Computer Publishing,1999.

[3]Tere Parnell.Guide to Buiidind High-Speed Netwo rks[M].北京:機械工業(yè)出版社,1998.

[4]虞春宜.Cache技術(shù)在萬維網(wǎng)上的應用[J].計算機工程與應用,2002,(2):147-149.

[5]林永旺.Web緩存的一種新的替換算法[C].北京:中國科學院計算機網(wǎng)絡(luò)信息中心,2001.

[6]范毅波.一“緩”一“急”:Web緩存加速Internet[N].網(wǎng)絡(luò)世界,2001-01-15.

猜你喜歡
頁面設(shè)置數(shù)據(jù)庫
大狗熊在睡覺
刷新生活的頁面
中隊崗位該如何設(shè)置
少先隊活動(2021年4期)2021-07-23 01:46:22
數(shù)據(jù)庫
財經(jīng)(2017年2期)2017-03-10 14:35:35
數(shù)據(jù)庫
財經(jīng)(2016年15期)2016-06-03 07:38:02
數(shù)據(jù)庫
財經(jīng)(2016年3期)2016-03-07 07:44:46
數(shù)據(jù)庫
財經(jīng)(2016年6期)2016-02-24 07:41:51
本刊欄目設(shè)置說明
中俄臨床醫(yī)學專業(yè)課程設(shè)置的比較與思考
地鐵出入段線轉(zhuǎn)換軌設(shè)置
主站蜘蛛池模板: 亚洲视频三级| 永久成人无码激情视频免费| 亚洲中文精品人人永久免费| 国产成人a在线观看视频| 国内a级毛片| 天天色天天操综合网| 网友自拍视频精品区| 亚洲无限乱码| 男女性午夜福利网站| 久久96热在精品国产高清| 日本一区二区三区精品国产| 欧美h在线观看| 日本亚洲成高清一区二区三区| 国产精品片在线观看手机版 | 久青草国产高清在线视频| 99在线观看视频免费| 97人妻精品专区久久久久| 久久特级毛片| 青青草国产精品久久久久| 毛片免费在线| 亚洲欧州色色免费AV| 欧美精品一区在线看| 尤物亚洲最大AV无码网站| 亚洲天堂日韩在线| 国产视频久久久久| 色有码无码视频| 日韩精品高清自在线| 婷婷亚洲最大| 亚洲无码一区在线观看| 欧美日韩另类国产| 91福利在线观看视频| 91精品网站| 国产精品天干天干在线观看| 伊人色婷婷| 欧美日韩国产在线人| 奇米精品一区二区三区在线观看| 国产午夜看片| 亚洲人成网18禁| 亚洲人网站| 久久精品这里只有国产中文精品| 久久精品人人做人人爽97| www.亚洲一区| 伊人久久婷婷五月综合97色| 激情六月丁香婷婷| 日本人妻一区二区三区不卡影院| 99热在线只有精品| 午夜激情婷婷| 国产青榴视频| 国产主播在线一区| 欧美日韩国产高清一区二区三区| 色综合婷婷| 日本人又色又爽的视频| 亚洲中文在线看视频一区| jijzzizz老师出水喷水喷出| 国产精品va| 国产美女无遮挡免费视频网站| 91网址在线播放| 国产一级妓女av网站| 第一页亚洲| 国产成人在线无码免费视频| 欧美久久网| 五月激激激综合网色播免费| a级毛片一区二区免费视频| 亚洲欧洲国产成人综合不卡| 亚洲乱码精品久久久久..| 久久96热在精品国产高清| 久久婷婷五月综合色一区二区| 中文成人在线| 国产成人精品午夜视频'| 91午夜福利在线观看| 国产精品精品视频| 成人国产精品一级毛片天堂| 亚洲成人网在线观看| 精品国产成人a在线观看| 亚洲av无码久久无遮挡| 欧美成人第一页| 亚洲综合专区| 免费中文字幕一级毛片| 欧美在线国产| jizz亚洲高清在线观看| 国产精品视频999| 在线色国产|