| 
       咨詢電話:010-51727811/12/13
      當(dāng)前位置: 首頁 > 新聞中心 > 業(yè)內(nèi)新聞 >
      數(shù)據(jù)存儲(chǔ)配置緩存
      時(shí)間:2012-11-02 09:25  來源:飛客數(shù)據(jù)恢復(fù)   作者:飛客數(shù)據(jù)恢復(fù)工程師
      配置緩存

      像任何其他事情一樣,為了獲得最優(yōu)的性能,緩存內(nèi)存也需要制訂計(jì)劃和進(jìn)行配置。

      如前所述,選擇適合的緩存算法是最重要的。一般而言,數(shù)據(jù)庫和隨機(jī)訪問應(yīng)用可以從LRU緩存獲得最大的性能效益,而對(duì)于像圖形學(xué)、視頻產(chǎn)生、數(shù)據(jù)倉庫,甚至普通的文件系統(tǒng)這些應(yīng)用,使用預(yù)先讀緩存則更適合。

      1.確定緩存大小

      對(duì)于一個(gè)給定的子系統(tǒng),目前還沒有一個(gè)既簡單又好的方法確定所需要的緩存大小。雖然人們總想按照子系統(tǒng)的總存儲(chǔ)量選擇它,但事實(shí)上,確定緩存容量還需取決太多的其他因素,如那些潛在的、但未使用過的文件數(shù)量。

      但當(dāng)?shù)谝淮斡?jì)劃實(shí)現(xiàn)緩存時(shí),需要知道從哪里下手。在磁盤緩存初始安裝之后,有可能希望對(duì)內(nèi)存量及所使用的算法進(jìn)行調(diào)整。

      對(duì)于帶有緩存的磁盤子系統(tǒng),合理的緩存量應(yīng)占總存儲(chǔ)容量的0.1%。例如,假使有50GB的存儲(chǔ)容量,那么,緩存內(nèi)存應(yīng)該安排在50MB左右。假使有1TB的容量,那么,緩存應(yīng)該為1GB。雖然這個(gè)緩存量可能變化(增加),但應(yīng)該明白所使用的緩存算法能否正常工作,這才是改變緩存大小的根本。

      還有一個(gè)更為復(fù)雜的確定緩存量的方法,即根據(jù)緩存所服務(wù)的應(yīng)用使用的數(shù)據(jù)量進(jìn)行估計(jì)。一般情況下,所需要的緩存量是總數(shù)據(jù)量的0.5%~1%。例如,假使一個(gè)數(shù)據(jù)庫應(yīng)用擁有200GB的存儲(chǔ)量,則可能使用1~2GB的緩存內(nèi)存。
      多級(jí)緩存

      為了使某些類型的數(shù)據(jù)和應(yīng)用達(dá)到最佳工作狀態(tài),可同時(shí)使用LRU和預(yù)先讀兩種緩存。圖中1就是這樣一種配置。
      多級(jí)緩存已經(jīng)有幾個(gè)成功地實(shí)現(xiàn)方案。理解多級(jí)緩存的關(guān)鍵在于兩方面的問題,其一是被傳回到非易失存儲(chǔ)的寫的方式,其二是每個(gè)緩存加在系統(tǒng)和存儲(chǔ)網(wǎng)絡(luò)的I/O傳輸量的影響。

      一般而言,這些緩存應(yīng)該在I/O路徑上串行連接,因?yàn)椴⑿蟹绞降木彺鎸a(chǎn)生連貫性問題,這需要專門的硬件和軟件來解決。緩存連貫性問題是今天存儲(chǔ)工業(yè)界所面臨的很困難的問題。這個(gè)挑戰(zhàn)來源于:當(dāng)I/O路徑正處于很忙狀態(tài)時(shí),還需要建立同步緩存內(nèi)容的通信機(jī)制。對(duì)于某些特別的數(shù)據(jù)“塊”,兩個(gè)連續(xù)的讀請(qǐng)求實(shí)際上接受同樣的數(shù)據(jù)。當(dāng)實(shí)現(xiàn)多級(jí)緩存時(shí),應(yīng)服從某些一般的規(guī)則:

      應(yīng)將I/O路徑上負(fù)擔(dān)最小的緩存組件放在靠近CPU的地方,通常LRU緩存與CPU最靠近。即I/O路徑上負(fù)擔(dān)最重的緩存組件應(yīng)放在離存儲(chǔ)子系統(tǒng)最近的地方。

      其次,在沒有后備電池保護(hù)的情況下,不要使用回寫緩存。相比透寫緩存來說,主機(jī)中的回寫緩存將導(dǎo)致更好的事務(wù)處理性能。然而,為了保證在數(shù)據(jù)刷新到非易失存儲(chǔ)后,最靠近CPU的緩存數(shù)據(jù)是可操作的,必須對(duì)I/O路徑上的每個(gè)組件使用UPS保護(hù)。假如事務(wù)處理不需要回寫緩存,則沒有必要使用它。