智能SmartCache實現原理

——按照塊的方式對SSD硬盤進行劃分,為每一個塊進行編號,塊的大小默認為1MB。

——主機從機械硬盤中讀取數據時,系統會實時對開啟SmartCache功能LUN中的數據塊訪問頻率進行統計。

——每隔半小時系統會對開啟SmartCache功能的LUN中的數據塊按照訪問頻率進行排序。

——系統根據該排序結果將訪問頻率最高的數據拷貝至SmartCache池中,若SmartCache池中沒有空閑緩存塊,則將SmartCache池中變冷的數據塊淘汰以獲取緩存塊資源。

——主機讀IO時,若全命中SmartCache池中的緩存塊,則從SmartCache池中讀取。

——讀IO沒有全命中SmartCache中的緩存塊時,則從機械硬盤中讀取。

——機械硬盤中的數據更新時,SmartCache池中對緩存塊同步進行更新。

SmartCache五大技術優勢

——高性能:針對Web Server應用隨機讀性能提升接近5倍,針對File Server應用隨機讀性能提升接近2倍。

——高可靠性:所有數據都保存在傳統磁盤中,由RAID保證數據的安全可靠,SSD中的數據僅僅是一個副本。

——高可用性:多盤組成SmartCache池時,除非所有成員盤全部失效,否則不影響功能的實現。

——高可擴展性:支持SSD盤片在線添加。

——低功耗:SmartCache池利用SSD和傳統磁盤組成混合陣列降低系統整體功耗。

數據庫IO特性

根據SSD本身的性能特性,SmartCache適用于讀多寫少有熱點的隨機小IO場景。因此,在使用SmartCache之前,了解IO特性和負載情況非常重要。對關系數據庫而言,索引數據是訪問最為頻繁的,因此當數據庫很大時,索引速度的快慢決定了訪問數據庫的延遲。

為了更直觀的體現數據庫IO特性,在實驗環境中,將數據庫關系表存放在400G的LUN中,使用測試工具模擬數據庫應用,以每G為單位統計主機訪問數據庫時的訪問數據。如下圖所示,經常訪問的數據量只占到整個數據庫空間的一小部分,大部分數據庫空間的訪問量很小或者幾乎沒有訪問。在客戶真實環境中,數據庫中只有10%的數據被經常訪問。相比在實驗室模擬的數據庫IO特性,客戶真實環境中的數據具備更加明顯的熱點。

圖2 Oracle訪問400G LUN的IO分布

1SmartCache技術提升數據庫應用性能

下面以具有OLTP特性的數據庫為例進行測試,說明數據庫應用SmartCache后獲得了明顯的性能提升。OLTP(On-Line Transaction Processing)聯機事務處理系統,也稱為面向交易的處理系統,其基本特征是顧客的原始數據可以立即傳送到計算機中心進行處理,并在很短的時間內給出處理結果。這樣做的最大優點是可以及時的處理輸入的數據,及時地回答。也稱為實時系統(Real time System)。典型的OLTP系統應用有電子商務系統,銀行,證券等,如ebay的業務數據庫。OLTP以小的事務及小的查詢為主,評估其系統性能時的幾個重要性能指標是實時響應時間(Response Time)、每分鐘事物處理數(TPM,Transaction Per Minute)和每秒IO數(IOPS,I/O Per Second)。

Swingbench是Oracle UK Database Solutions group開發的一款免費的性能測試工具。Swingbench基于TPC-C標準對OTLP業務場景模式進行性能測試,能夠方便的調整Swingbench配置文件中OLTP各項業務所在比例,使得模擬的業務場景中讀寫IO比例大概維持在所需要的比例8:2。

測試組網

測試組網如圖3所示:

圖3 測試組網圖

本文中所使用的環境配置如下表:

表1 SmartCache對數據庫性能提升實驗環境配置

測試結果

在打開SmartCache功能穩定運行14小時后,測試結果如圖4、圖5、圖6所示:以圖4的IOPS測試結果為例:圖中的虛線為SmartCache功能關閉與開啟的分界線。在SmartCache功能未開啟時,IOPS值穩定在2000左右;在測試時間的第三個小時開啟SmartCache功能,系統經過一段時間的熱點統計后,開始逐步將熱點數據拷貝至SmartCache池中,此時IOPS值呈上升狀態;當全部熱點數據均緩存至SmartCache池后,上層應用下發的IO大部分命中SmartCache池中,此時IOPS穩定在8000以上。在開啟SmartCache功能后數據庫系統性能較原系統有了較明顯的提升,IOPS為原系統的5.64倍,TPM為原系統的6.43倍,RT下降為原系統的27%。

圖4測試結果–IOPS

圖5 測試結果–TPM

圖6 測試結果–Response Time

SmartCache技術,有效解決性能問題

華賽SmartCache技術利用系統中的高性能SSD,緩存應用中的熱點數據,從而對熱點數據的訪問進行加速,特別是對于那些隨機小IO業務,加速效果明顯。通過對具有OLTP特性的數據庫應用場景進行測試發現, SmartCache能很好的解決大型數據庫目前碰到的性能問題。

u通過把熱點數據緩存到SmartCache池中,大大提升了系統的整體讀性能。數據庫索引數據的訪問頻率高于普通數據,通過SmartCache的熱點識別和熱點拷貝,索引數據會逐步緩存到SSD中,后續用戶對于索引數據的訪問將直接從高性能的SSD中獲取,降低了訪問索引數據的時間,從而更好的符合了用戶的感受。

u所有數據都保存在使用了冗余技術的傳統磁盤中,SmartCache池的SSD中保存的僅僅是熱點數據的副本,很好的保證了數據庫中數據的安全性,同時由于數據庫應用的大量隨機小IO訪問都在SmartCache池中命中,減少了傳統磁盤磁頭頻繁擺動的次數,增長傳統磁盤的壽命。

u通過利用少數的幾塊SSD就可以達到需要部署大規模傳統磁盤陣列才能達到的性能,降低了系統整體的TCO,同時也降低了功耗,與當前業界倡導的綠色存儲相符合。

未經允許不得轉載:存儲在線-存儲專業媒體 » SmartCache 有效提升數據庫應用性能
分享到

zhuyu

相關推薦

精品国产午夜肉伦伦影院,双性老师灌满浓jing上课h,天天做天天爱夜夜爽,攵女乱h边做边走