




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、動態網頁快取系統之設計與實作Design and Implementation of Caching Dynamic Web Pages張 燕 光1大綱研究動機與目的 文獻探討 系統設計與實作 系統效能評估 結論與未來展望 2研究動機與目的研究動機網頁快取向來是解決因 WWW 快速成長而造成網路壅塞、回應遲緩等問題的最佳方案動態網頁已成今日網路服務之主流方式,但現今之網頁快取系統仍無法快取動態網頁研究目的快取動態網頁,以能增進網路服務品質縮短客戶端之等待時間提升伺服器之處理能力減輕網路之壅塞情況3文獻探討現行網頁快取系統之分類動態網頁快取機制之研究動態網頁於快取上之問題定義4Reverse P
2、roxyAlso called Proxy AcceleratorServer Farm(伺服器叢集)之前端 重導(redirect)客戶端之請求至適當的伺服器來處理,而由於Reverse Proxy具有此種分配客戶端請求之能力,故也可作為Server Farm之Load Balancer(負載平衡器),平均分攤各個伺服器的工作量Web Switch6Server-based做法:儲存動態網頁成靜態網頁,並放置於網頁伺服器後端的快取系統中優點:避免伺服器端計算資源的重複性浪費,藉以減少客戶端等待伺服器端計算之時間花費Dynamic Web Data Caching (A. Iyengar, I
3、NFOCOM99)ODG(Object Dependence Graph)來輔助快取文件間彼此資料內容之相依性的管理 Cachuma( Huican Zhu & Tao Yang, INFOCOM01 )可對快取文件作Invalidation與Precomputing等一系列管理機制。 7Server-based :ReferencesArun Iyengar, Jim Challenger, Improving Web Server Performance by Caching Dynamic Data, In Proc. of the USENIX Symposium on Interne
4、t Technologies and Systems Monterey, California, Dec 1997.Huican Zhu, Tao Yang, Class-based Cache Management for Dynamic Web Content, IEEE Infocom, 2001.Jim Challenger, Arun Iyengar, Paul Dantzig, A Scalable System for Consistently Caching Dynamic Web Data, In Proc of IEEE INFOCOM99, New York, Mar 1
5、999.9Proxy-basedProxy-based做法:使用Proxy Cache內已有之快取文件segments,並在Proxy內直接組合而成一完整網頁供用戶端使用優點:較Server-based多了一項預期效益 減少整體網 路使用量範例:Active Cache( Pei Cao, et al., 1998)Proxy CacheCache AppletCache ObjectsClientWeb Server10Language-basedLanguage-based做法:使用自定之快取語言或標籤,可達成動態網頁中 之動、靜態內容分離,或是直接使用動態網頁語 言研發動態網頁快取系統優
6、點:可增進客戶端與伺服器端二者間之動態網頁處理 與遞送之效能範例:HPP (Hypertext Pre-Processing) and Bigwig11Language-based: ReferencesClaus Brabrand, Anders Mller, Steffan Olesen, Michael I. Schwartzbach, Language-Based Caching of Dynamically Generated HTML, World Wide Web Journal, Vol. 5, No. 4: 305-323, Kluwer Academic Publisher
7、s, 2002.Fred Douglis, Michael Rabinovich, Antonio Haro, HPP: HTML Macro-Preprocessing to Support Dynamic Document Caching, In Proc. of the USENIX Symposium on Internet Technologies and Systems Monterey, California, Dec 1997.12Application-basedApplication-based做法:直接使用動態網頁程式語言來設計動態網頁快取系統,其做法主要是由負責產生動態
8、網頁之動態網頁應用程式,在產生動態網頁之同時,也順道快取本身所產生的動態網頁成靜態快取文件,待下次客戶端再有相同請求時,優點:動態網頁應用程式即可直接取用先前所快取之靜態快取文件,故其可省去再次執行完整動態網頁應用程式所須耗費之伺服器運算資源與時間範例:phpCache( http:/0/php/phpCache/ )Web ServerphpCachePHPWeb Apps13動態網頁之產生過程Web ServerWeb Appif ( Key =.) .else if ( ) .HTML Page.RequestResponsehttp:/site/webapp?Key=xxxOutput
9、Client14動態網頁於快取上之問題定義(2/5)Q2:動態網頁應用程式之執行延遲 動態網頁應用程式如同一般的程式,執行時皆須佔用伺服器之處理資源,而越多程式同時執行,各個程式處理完成所需時間將越加延長S2:保存程式之處理結果只要確定參數值相同,即可重複使用16動態網頁於快取上之問題定義(3/5)Q3:動態網頁欠缺 HTTP Cache-Control Header缺少 Cache-Control、Expires、Last-Modified、Content-LengthS3:添加 HTTP Cache-Control Header 於動 態網頁之前17動態網頁於快取上之問題定義(5/5)Q4
10、:動態網頁之網路傳輸重複浪費多數客戶端僅使用Browser Cache動態網頁中之不變部分重複傳輸S4:重複使用網頁中之不變部分分離、組合動態網頁中之動、靜態內容19系統設計與實作系統設計概念Application-Level 動態網頁快取系統系統整體架構與運作流程系統元件設計系統實作Server-Level 動態網頁快取系統系統整體架構與運作流程系統元件設計20系統設計概念Web ServerIf have cached dynamic web pageWeb AppCache DirectoryHTML PageRequestResponseNoYesOutputSaveWith HTTP
11、 Cache-Control Header21Application-Level 動態網頁快取系統StaticWeb ServerCache DirectoryWeb Apps(WADC)Web SwitchDynamicClientSaveType BCache ManagerType ASave as .cmr fileCompareUpdate NotifyResponseResponse22AL系統元件設計 Type B URL (1/2)http:/host/abs_path/page?k1=v1&k2=v2 ( Type A URL )http:/host/abs_path,pag
12、e!k1=v1&k2=v2.html ( Type B URL )Apache Rewrite moduleRewriteMapurlparse prg: /urlparse.plRewriteCond %REQUEST_FILENAME !-sRewriteRule /(.+)/(.*).html$ $1$urlparse2:$2 L23AL系統元件設計 Type B URL (2/2)function Location() var UrlStr;UrlStr = http:/host/abs_path,page! k1= + document.LocationBody.k1.value +
13、 &k2= + document.LocationBody.k2.value + .html;window.location.href = UrlStr; Key 1: Key 2: ClientWeb Serverhttp:/host/abs_path,page!k1=v1&k2=v2.html24AL系統元件設計 WADCWeb Application Designed for Caching (WADC)產生適當之HTTP Cache-Control Header儲存動態網頁之內容而成快取文件知會Cache ManagerGenerating the dynamic contentRes
14、ponse the dynamic content with HTTP Cache-Control HeaderAlready Cached ?Save the dynamic content as .cmr fileNotify the Cache ManagerSave the dynamic content as cache objectYesNo26AL系統元件設計 Cache Manager (1/5)快取文件屬性值之取得與存放IDFile SizeMD5 ValueLast Modified TimeLast Access TimeExpiration TimeConsistenc
15、y Check MethodInterval Check Time27AL系統元件設計 Cache Manager (3/5)內容一致性之維護機制作業方式Method for Regularly Changed Objects(MT1)針對時間之Back-end Input而設Method for Irregularly Changed Objects with Notification(MT2)針對後端資料庫之Back-end Input而設Method for Irregularly Changed Objects without Notification(MT3)為了解決雖明知快取文件之
16、內容有固定週期時間之變動,但此週期時間卻無人知曉之窘況29AL系統元件設計 Cache Manager (4/5)While Check PNT+;if page content change CNT+; if (PNT = 5)if(TCT = 0) / If Cache Manger doesnt start to record if(CNT = 0) DED *= 2; / Page doesnt have any change. else if(CNT = 5) DED /= 2; / Page changes every check time. else TCT = CNT; HST
17、 = LMT; / Start to record else TCT += CNT; DED = (LMT - HST) / TCT; / DED = Total time / Total Change if(DED 1) DED = 1; PNT = CNT = 0; sleep(DED); PNT:每次周期(檢查5次所需的時間為一週期)內已經過的檢查次數CNT:每次周期內網頁內容變動的次數DED:每次檢查網頁內容的間隔時間(Second)LMT:網頁內容最近變動的時間(UTC)TCT:網頁內容變動的累計次數HST:開始進行網頁內容變動次數累計的時間(UTC)30AL系統元件設計 Cache
18、 Manager (5/5)快取空間之置換(Replacement)採用 LRU (Least-Recently-Used) 置換策略一旦達到95%的快取空間置換上限時,Cache Manager便會讀取存在於 Cache Directory 中所有快取文件的 Last Access Time,從中找出久未被使用之快取文件並刪除之,直到空間使用率達到90%的快取空間置換下限時,即會停止31AL系統實作OS:LinuxWeb Server:ApacheWeb Switch:mod_rewrite、PerlWADC:PHPCache Manager:ANSI C、GCC32AL系統實作 Cache
19、 ManagerWeb ServerLink -listMessage QueueCache DirectoryCache ManagerWADC(PHP etc.)1. Save2. Send3. Signal4. Get5. Get6. Save7. Socket33Server-Level 動態網頁快取系統ClientWeb ServerRequestHandlerResponseOutput FilterResponseHandlerCache ManagerCache Directory34SL系統元件設計 之初始概念Welcome ! Today is Welcome ! Morp
20、heusToday is May 12, 2003Welcome ! MorpheusToday is May 12, 2003(a) welcome.php(b) Html output of welcome.php(c) Final view in client browserD1D2D1D2D1D2Static PartDynamic PartFull Page35SL系統元件設計 語法使用範例Dynamic-Content 36SL系統元件設計 Request HandlerRequest HandlerRequest from ClientType A or B URLRequest
21、 from Client & Cache Manager( RCCM )Have IMS HeaderCache File ExistAfter First Request from client , file Exist , Not expired( AFREN )First Request , File Exist ( FRFE )After First Request from client , file Exist , Expired( AFREE )First Request , File Not exist ( FRFN )File has been modifiedABYesNo
22、After First Request from client , file Not exist( AFRN )Cache File ExistYesYesYesNoNoNoResponse Handler37SL系統元件設計 Response HandlerResponse HandlerRequest HandlerType B to Type A URLWeb Application ProcessingHTML PageResponse Output FilterGet information from Cache Directory and Cache ManagerResponse
23、 the request file plus HTTP Cache-Control HeaderResponse with HTTP Header 304 Not ModifiedAFRENFRFEAFREERCCMFRFNAFRN38SL系統元件設計 Response Output FilterResponse Output FilterResponse HandlerResponse to ClientHave Separate and construct the dynamic and static contentCollect information then save to Cach
24、e Directory and Cache ManagerResponse the request file and HTTP Cache-Control HeaderPass through all informationAFRENFRFE、AFREERCCM、FRFN、AFRNNoYes39系統效能評估實驗平台實驗項目客戶端等待時間、伺服器處理能力網路傳輸量網頁內容一致性與其它動態網頁快取系統之比較40實驗平台Web ServerHardwareSoftwareCPUIntel P4 1.6GMHzOSRed Hat Linux 8.0RAM256MB SDRAMWeb ServerApa
25、che 2.0.45HDDIBM-DPTA-372050 ATA DISKmod_prel 1.99NICD-link 530TX rev BWeb App Script LangPHP 4.3.1SQL ServerMySQL 3.23.55Proxy ServerHardwareSoftwareCPUIntel PIII 550MHzOSRed Hat Linux 8.0RAM128MB SDRAMProxy ServerSquid-2.4.STABLE7-4HDDIBM-DPTA-372050 ATA DISKNICD-link 530TX rev BClientHardwareSoft
26、wareCPUIntel PIII 550MHzOSRed Hat Linux 8.0RAM128MB SDRAMMeasurement Toolhttperf-0.8HDDIBM-DPTA-372050 ATA DISKNICD-link 530TX rev B41實驗 客戶端等待時間、伺服器處理能力 (1/3)實驗情境令網頁伺服器執行一極為耗用伺服器資源之動態網頁應用程式,用以模擬一伺服器端正處於高負載量之情境,藉以測知 Application-Level 動態網頁快取系統在此情境下,可協助伺服器端縮短多少客戶端之原先等待時間,又可提升多少網頁伺服器之原先處理能力實驗組別PHPFR(Fir
27、st Request)AFR(After First Request)for ( i=0 ; i x ; i+ ) result = power ( square ( i ) );print result;42實驗 客戶端等待時間、伺服器處理能力 (2/3)43實驗 客戶端等待時間、伺服器處理能力 (3/3)44實驗 網路傳輸量 (1/2)實驗情境取得現今二個相當熱門的網站內之動態網頁,並嘗試將此二動態網頁中之動、靜態內容分離,用以模擬若是由 Server-Level 動態網頁快取系統來處理此二動態網頁,可減少多少原先需使用之網路傳輸量DailyS45實驗 網路傳輸量 (2/2)46實驗 網頁
28、內容一致性 (1/6)實驗情境實作一個提供即時資訊之新聞網站,並以眾多客戶端在同一時間內對此網站提出網頁瀏覽之請求,用以模擬一伺服器端有著極為高度之網頁內容更新率與擁有大量請求同時到來之情境,藉以測知 Application-Level 動態網頁快取系統在此情境下,可否持續維持快取文件之內容一致性,又可縮短多少客戶端之等待時間與提升多少伺服器之處理能力 47實驗 網頁內容一致性 (2/6)YesApacheMySQL(Data changes every 30 secs)simCacheCache DirectoryPHPWADCWeb SwitchNoClient ( random requ
29、est N times every 1 sec)simCache.logresult.logWriteCompareType BCache ManagerType AUpdateLogWrite cmr fileUpdate NotifyResponseResponseNotify that the data has been changedMT2實驗配置YesApacheMySQL(Data changes every 30 secs)simCacheCache DirectoryPHP WADCWeb SwitchNoClient ( random request N times ever
30、y 1 sec)simCache.logresult.logWriteCompareType BCache Manager (process every 30 secs)Type AUpdateLogWrite cmr fileCompareUpdate existing pageNotifyResponseResponseMT1實驗配置48實驗 網頁內容一致性 (3/6)49實驗 網頁內容一致性 (4/6)50實驗 網頁內容一致性 (5/6)51實驗 網頁內容一致性 (6/6)Average MT1 Fresh Hit Ratio - Exp ConsistencyMissHitReques
31、ts/Sec-FreshStaleAverage Fresh Hit Ratio101057911990.9667784010231778130.9661115010290119790.96735680104615518350.961763100135814918380.969362140108102529650.964698150158701629690.967006160119236936200.9622872001011620437860.968447Total Average Fresh Hit Ratio0.965978Average MT2 Fresh Hit Ratio - Ex
32、p ConsistencyMissHitRequests/Sec-FreshStaleAverage Fresh Hit Ratio1010598910.99983340102398910.999958501029976140.999533801047968220.9995421001059960300.999523140108398640.999952150158998230.9999671601095941490.99949320017119895880.999267Total Average Fresh Hit Ratio0.99967152實驗 與其它動態網頁快取系統之比較 (1/4)實驗情境將Application-Level動態網頁快取系統與其它動態網頁快取系統一同模擬比較,以了解這些系統於其快取程序上之差異,與效率上之差別 實驗對象Reverse ProxyCachumaphpCache53實驗 與其它動態網頁快取系統之比較 (2/4)54實驗 與其它動態網頁快取系統之比較 (3/4)55實驗 與其它動態網頁快取系統之比較 (4/4)56結論Application-Level 動態網頁快取系統之優點快速之回應時間、低度之CPU使用率、大量之客戶端
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 继续履行合同协议书
- 户外玩具买卖合同协议书
- 单体木工售卖合同协议书
- 夜宵摊转让合同协议书
- 2025版高考地理一轮复习课后限时集训15自然地理环境的整体性含解析新人教版
- 灯具批发买卖合同协议书
- 计算机四级嵌入式行业现状报告试题及答案
- 计算机二级C语言价值提升试题及答案
- 解除劳动合同协议书退休
- 永久租地合同协议书模板
- SAP电池行业解决方案
- 冥王星的命运课件
- 燃气公司月度安全生产检查表
- 行政执法实务讲课课件PPT
- DB43∕T 604-2010 日用炻瓷-行业标准
- 《品牌策划与管理(第4版)》知识点与关键词解释
- 国家开放大学《水利水电工程造价管理》形考任务1-4参考答案
- 司法局PPT模板
- 轴直线滑台设计毕业论文
- 泄爆墙施工方案1
- FC西游记后传金手指
评论
0/150
提交评论