• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      Web網(wǎng)站緩存技術(shù)優(yōu)化措施分析

      2018-06-17 11:16鐘毅
      無線互聯(lián)科技 2018年2期

      鐘毅

      摘要:為了能夠更好地滿足網(wǎng)站對于信息發(fā)布之后在實時性方面的要求,應(yīng)當(dāng)針對目前使用內(nèi)存來存放數(shù)據(jù)庫備份的方式,創(chuàng)建以內(nèi)存為基本緩存模型的首要保存點,數(shù)據(jù)庫則成了數(shù)據(jù)備份的形式,如此不僅能夠滿足信息所具有的實時可用性,而且還能保障數(shù)據(jù)的安全可靠性。同時,在大型Web網(wǎng)站的具體運用中,還可運用OSCache技術(shù)來緩存各類數(shù)據(jù)對象以及表現(xiàn)層,如此即可明顯地提升系統(tǒng)的響應(yīng)速度,改進系統(tǒng)的各項運轉(zhuǎn)性能,進而實現(xiàn)系統(tǒng)總體性能的優(yōu)化。文章對Web網(wǎng)站緩存技術(shù)進行了概述,并著重論述了Web網(wǎng)站緩存模型的OSCache技術(shù)的優(yōu)化措施。

      關(guān)鍵詞:Web網(wǎng)站;緩存技術(shù);緩存模型;OSCache技術(shù)

      如今,緩存技術(shù)已經(jīng)被大量運用在多種類型的Web網(wǎng)站之中。按照網(wǎng)站訪問量的差別,每一網(wǎng)站均適合于自身的緩存方案。就緩存的實質(zhì)來看,是指把存于硬盤之中的數(shù)據(jù),通過KEY-VALUE的方式存到內(nèi)存之中,從而提高用戶獲得數(shù)據(jù)的速度。在當(dāng)前的信息化時代下,許多大型Web網(wǎng)站,在面對著巨額用戶的訪問以及高并發(fā)的請求,承擔(dān)了非常大的壓力。一旦在5-10 s內(nèi)沒有接收到其所需之網(wǎng)頁,使用者可能就會對這個網(wǎng)站的感受度變差。在網(wǎng)站響應(yīng)過程之中,引擎編譯頁面和Web讀寫數(shù)據(jù)庫是系統(tǒng)中最為常見的兩個問題。當(dāng)前,常見的解決方式主要有運用高性能服務(wù)器、數(shù)據(jù)庫以及編程語言,或是運用高性能Web器具[1]。但是,單一或組合運用上述方案還無法全面解決Web網(wǎng)站在高負(fù)載與高并發(fā)情境之下出現(xiàn)的性能問題,而且使用者人數(shù)的迅速增多,還會面臨不斷增加的軟硬件投資問題。

      1 Web網(wǎng)站緩存技術(shù)概述

      依據(jù)一項統(tǒng)計,Web系統(tǒng)之中要進行處理的數(shù)據(jù)中大概有20%-50%是短時間中難以出現(xiàn)變化的,然而編程過程中往往把其定義成動態(tài)性內(nèi)容加以輸出,如此就會消費數(shù)據(jù)庫以及Web服務(wù)器的各類資源。比如,電商網(wǎng)站之中對于商品所作的定義在短時間內(nèi)極有可能難以改變,但在一段時間以后還是有可能出現(xiàn)變化的,所以在使用戶查看商品列表過程中,Web程序均需與各類數(shù)據(jù)庫加以交互。再如,不同的用戶在同一時段訪問相同統(tǒng)計報表之時,反復(fù)形成報表也會耗費非常多的數(shù)據(jù)庫資源,從而對系統(tǒng)運轉(zhuǎn)產(chǎn)生極大負(fù)擔(dān)。據(jù)此,可以在Web開發(fā)或者部署過程中引入緩存技術(shù),使用Cache緩存頁面加以輸出,如此即可明顯改進Web系統(tǒng)的運轉(zhuǎn)性能以及穩(wěn)定性。如今,常見的緩存技術(shù)包括了分布式Cache服務(wù)器緩存技術(shù)和OSCache緩存技術(shù)。前者主要是在當(dāng)?shù)卮鎯?jīng)常需要訪問的信息。前端的路由可以把普通Web重定向至本地Cache服務(wù)器以切實降低服務(wù)器負(fù)荷。后者是運用OSCache技術(shù)對Web頁面加以細(xì)化,并實施好緩存操作,以求在不大量提高系統(tǒng)投資的狀況下實現(xiàn)提升系統(tǒng)性能的目的[2]。

      2 Web網(wǎng)站緩存模型的優(yōu)化措施

      Web網(wǎng)站緩存模型的基本框架為:通過數(shù)據(jù)爬蟲來各類信息,并保存到數(shù)據(jù)庫之中。此時,數(shù)據(jù)庫之中的數(shù)據(jù)則進入到了待審核狀態(tài),被審核數(shù)據(jù)可以分成通過與不通過兩大類。通過數(shù)據(jù)保存于內(nèi)存循環(huán)數(shù)組當(dāng)中,而不通過數(shù)據(jù)則置為無效狀態(tài)。將保存于內(nèi)存之中的各類數(shù)據(jù)定時同步至數(shù)據(jù)當(dāng)中。在Web網(wǎng)站第一次啟動之時,就會從數(shù)據(jù)庫當(dāng)中把相應(yīng)數(shù)據(jù)同步至內(nèi)存之中。網(wǎng)站緩存應(yīng)用以內(nèi)存為首要保存點,審核就是發(fā)布的方式,能夠推進信息的曝光度。當(dāng)網(wǎng)站在內(nèi)存之中定義了長度是5 000的循環(huán)數(shù)組之后,即可作為優(yōu)惠信息保存于數(shù)據(jù)結(jié)構(gòu)之中。5 000條數(shù)據(jù)一般都能保障3d中的數(shù)據(jù)均可被保存于數(shù)組之中,且在數(shù)組初始化過程中就為其初始化進行賦值,其中均保存有數(shù)據(jù)結(jié)構(gòu)信息,如此即可節(jié)約新信息插入過程中的動作,而且還能夠節(jié)省內(nèi)存分配所產(chǎn)生的部分時耗。Web網(wǎng)站的服務(wù)器端通常所使用的為ns服務(wù),而在.NET平臺則使用了垃圾回收體系,會造成分配與回收資源過程中對CPU與內(nèi)存之消耗。如此一來,在每一次插入新數(shù)據(jù)之后,實際上即是實施了更新性操作。這樣即可為循環(huán)數(shù)組的頭與尾分別確定了整形變量Headlndex和Taillndex,從而代表了目前數(shù)組之中首位與最后一位數(shù)據(jù)所處的位置。

      在每一次有新的數(shù)據(jù)需要插入到數(shù)組之中,就會依據(jù)循環(huán)數(shù)組的頭指針與尾指針之大小來實施差異化操作:(1)在Taillndex大于Headlndex,而且Taillndex并不等于4 999之時,此時代表數(shù)組Taillndex之后的數(shù)組數(shù)據(jù)都能進行更新,只要把Taillndex加上l,并且把Taillndex指向之?dāng)?shù)據(jù)重新更新為可插入數(shù)據(jù)就可以了。(2)在Taillndex小于Headlndex,或是Taillndex等于4 999之時,這時就表示數(shù)組之中的空數(shù)據(jù)己被全部用完,那就需要把最早插入的數(shù)據(jù)重新更新為如今所插入之?dāng)?shù)據(jù),也就是執(zhí)行Headlndex加上l。與此同時,還應(yīng)當(dāng)把Headlndex指向的數(shù)據(jù)充分更新成所插入之?dāng)?shù)據(jù),而且同時還應(yīng)當(dāng)為Taillndex加上1。一旦Headlndex或是Taillndex超過了4 999,均應(yīng)置為0。(3)在重新部署Web網(wǎng)站的過程中,在對網(wǎng)站進行部署的同時,還應(yīng)當(dāng)把Web數(shù)據(jù)庫之中依據(jù)時間逆序排列的前5 000條數(shù)據(jù)重新插入循環(huán)數(shù)組當(dāng)中。一直到再次插入到新數(shù)據(jù)之后,再來操作步驟二。(4)實施Web分頁緩存控制。因為用戶所查看的數(shù)據(jù)均是依據(jù)頁面來得到數(shù)據(jù)的。一旦數(shù)據(jù)運用循環(huán)數(shù)組之中的結(jié)構(gòu)保存于內(nèi)存之中,就應(yīng)當(dāng)對數(shù)據(jù)按照頁為基本單位進行組織,從而便于用戶進行訪問。Web網(wǎng)站運用兩級Key-Value的形式加以組織[3].

      3 Web網(wǎng)站OSCache技術(shù)的優(yōu)化措施

      OSCache技術(shù)是基于J2EE架構(gòu)對Web應(yīng)用層而實施的緩存開源項目,如今已經(jīng)在諸多大型Web項目之中得到了更多地運用。它不但能夠兼容各類JSP Web容器,而且還可利用內(nèi)存、硬盤或別的存儲資源為其緩存區(qū),且支持對一部分或者整體頁面加以緩存。在開發(fā)過程中還可依據(jù)差異化需求與環(huán)境而應(yīng)用差異化的緩存措施,以求在系統(tǒng)性與實時性上得到最好的平衡。依據(jù)緩存范圍的差異,OSCache主要支持兩類緩存形式,其一是緩存JSP頁面當(dāng)中的一些或整體內(nèi)容,其二是對數(shù)據(jù)對象加以緩存,能夠產(chǎn)生更大的緩存粒度。具體有3種實現(xiàn)方式:(1)對JSP Cache標(biāo)簽進行緩存。使用OSCache之中的Cache標(biāo)簽,可對含于標(biāo)簽之中的段落內(nèi)容實施緩存化處理,處理形式主要取決于程序?qū)τ贑ache屬性的設(shè)置。Cache屬性為標(biāo)識緩存之關(guān)鍵詞。在相應(yīng)的范圍之中,一定是唯一存在著的。默認(rèn)Key通過被訪問頁面中的URL與請求字符串聯(lián)結(jié)而成。(2)運用CacheFilter來體現(xiàn)對頁面的總體緩存。CacheFilter能夠用在頁面級緩存上,主要是對Web運用中的部分動態(tài)頁面實施緩存,特別是對需生成的格式表格或者報表頁面,主要的實現(xiàn)方式是在設(shè)置Web應(yīng)用過程中,通過配置CacheFilter的屬性以確定緩存的策略。(3)面向?qū)ο髮嵤┚彺?。Web程序可運用繼承Administrator基類,對其中的持久化對象實施緩存。運用以上方案之后,使用ApplicationStressTooI壓力測試工具,能夠并發(fā)出100個線程登錄以上頁面,平均的頁面響應(yīng)時間從沒有采取緩存技術(shù)時的87 ms降低至59 ms,而數(shù)據(jù)庫服務(wù)器的CPU占用率的峰值則從2g%下降至l7%[4]。

      4結(jié)語

      總的來說,Web網(wǎng)站的啟動速度與使用者離開速度之間具備了最直接的聯(lián)系。在硬件資源無法得到快速提升的情況下,就一定要用最優(yōu)化的措施來得到最好的響應(yīng)成效。當(dāng)然,Web網(wǎng)站的優(yōu)化措施,一定要符合本網(wǎng)站的具體運行狀況。在目前的J2EE/J2SE框架體系之中,OSCache能夠提供Web應(yīng)用層實現(xiàn)緩存需要的各項基本功能。運用OSCache技術(shù),可更加靈活簡便地處理好Cache對象,切實降低數(shù)據(jù)庫服務(wù)器和Web服務(wù)器在性能上的消耗,如此即可提升Web網(wǎng)站的總體響應(yīng)度以及負(fù)載水平。

      [參考文獻]

      [1]肖寧.Web緩存技術(shù)研究與應(yīng)用[J].計算機光盤軟件與應(yīng)用,2012 (8):145.

      [2]孫惠洋,李睿達.PHP高性能網(wǎng)站緩存技術(shù)探討[J]通信管理與技術(shù),2015 (4):75

      [3]孟彩霞.Web緩存容量的優(yōu)化技術(shù)研究[J]電子設(shè)計工程,2016 (8):98-101

      [4]吳慶鑫,魏振鋼,張小龍.Web開發(fā)中分布式緩存技術(shù)的研究[J].中國科技信息,2017 (13):62-64

      洛扎县| 米脂县| 毕节市| 麻城市| 建始县| 凤凰县| 铁力市| 五华县| 佛教| 永吉县| 江安县| 涞源县| 临朐县| 雅安市| 理塘县| 宁武县| 衡东县| 吴忠市| 米脂县| 康保县| 车险| 额尔古纳市| 化州市| 舟曲县| 买车| 抚顺县| 乌拉特中旗| 永康市| 南陵县| 颍上县| 焦作市| 柳江县| 三门县| 治多县| 吉木乃县| 博乐市| 彩票| 惠来县| 忻州市| 台湾省| 合川市|