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

緩存技術在Web中的應用研究*

2011-12-08 00:24:02
濰坊學院學報 2011年4期
關鍵詞:頁面設置數據庫

王 鑫

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

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

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

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

1 Web中緩存技術的應用

1.1 客戶端的緩存技術

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

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

1.2 代理端的緩存技術

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

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

1.3 服務器端的緩存技術

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

1.3.1 內容緩存

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

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

1.3.2 數據庫連接緩存

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

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

2 緩存內容的替換策略

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

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

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

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

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

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

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

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

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

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

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

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

3 Web中緩存內容的更新

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

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

3.1 時間

通過在服務器中設置網頁的生存時間來自動更新緩存內容。

3.1.1 頭標志

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

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

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

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

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

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

3.1.2 “懶惰”更新

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

3.2 事件

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

3.3 手動

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

4 結束語

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

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

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

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

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

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

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

猜你喜歡
頁面設置數據庫
大狗熊在睡覺
刷新生活的頁面
保健醫苑(2022年1期)2022-08-30 08:39:14
中隊崗位該如何設置
少先隊活動(2021年4期)2021-07-23 01:46:22
數據庫
財經(2017年2期)2017-03-10 14:35:35
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
本刊欄目設置說明
中俄臨床醫學專業課程設置的比較與思考
地鐵出入段線轉換軌設置
主站蜘蛛池模板: 久久国产拍爱| 国产第八页| 特级毛片免费视频| 丁香五月亚洲综合在线| 91精品国产91欠久久久久| 免费在线成人网| 91精品网站| 91色爱欧美精品www| 免费啪啪网址| 国产一级视频在线观看网站| 国内精品小视频在线| 99久久国产综合精品2023| 99在线视频免费观看| 看国产毛片| 中文成人在线视频| 久久男人视频| 亚洲va欧美va国产综合下载| 一区二区午夜| 国产精品精品视频| AⅤ色综合久久天堂AV色综合| 精品国产黑色丝袜高跟鞋| 波多野结衣无码中文字幕在线观看一区二区 | 国产成人精品在线| 亚洲精品动漫| 亚洲精品亚洲人成在线| 69国产精品视频免费| 婷婷亚洲最大| 免费a级毛片18以上观看精品| 亚洲欧洲日韩综合色天使| 欧美激情,国产精品| 久久精品日日躁夜夜躁欧美| 91欧美亚洲国产五月天| 国产免费高清无需播放器| www中文字幕在线观看| 国产96在线 | 99热这里只有精品免费| 波多野结衣一区二区三视频| 久草热视频在线| 国产丝袜一区二区三区视频免下载| 色窝窝免费一区二区三区| 青青青视频蜜桃一区二区| 亚洲精品国产综合99| 四虎影视库国产精品一区| 国内精品小视频在线| 国产在线观看一区精品| 欧美在线视频不卡第一页| 99re热精品视频中文字幕不卡| 国产区网址| 污网站在线观看视频| 操操操综合网| 亚洲欧美另类中文字幕| 91久久偷偷做嫩草影院| 欧美另类视频一区二区三区| 国产菊爆视频在线观看| 美女无遮挡免费视频网站| 99久久国产自偷自偷免费一区| 日本一区高清| 青青热久免费精品视频6| 国产精品无码AⅤ在线观看播放| 亚洲成人手机在线| 成人在线欧美| 国产成人精品视频一区二区电影| 亚洲swag精品自拍一区| 美女一级免费毛片| 欧美中文一区| 大香伊人久久| 国产一二视频| 香蕉综合在线视频91| 四虎影视永久在线精品| 国产真实乱人视频| 无码免费试看| 欧美在线精品一区二区三区| 国产亚洲精品va在线| 久久国产黑丝袜视频| 最近最新中文字幕在线第一页| 欧美啪啪网| 国产三级a| 亚洲中文字幕在线观看| 国产激情在线视频| 国产免费精彩视频| 一级一毛片a级毛片| 一级毛片在线播放|