Lindorm將容量型雲端儲存作為冷儲存介質,用於儲存資料庫中訪問頻率較低的歷史資料(冷資料),從而降低儲存成本。本文介紹容量型雲端儲存的功能特性及效能測試結果。
功能特性
儲存成本低。
儲存成本僅為標準型雲端儲存成本的20%。
支援資料寫入能力,並保證資料隨時可讀。
使用簡單。
購買Lindorm執行個體時選擇容量型雲端儲存並選擇儲存空間,然後通過建立表格語句將冷資料存放區至容量型雲端儲存中即可。
支援同一張表內的冷熱分離功能。
冷熱分離功能可以自動將表中的熱資料存放區至讀寫速度更快的熱儲存中,將不常訪問的歷史資料存放區至容量型雲端儲存中,從而降低儲存成本。如果您在業務上有冷熱分離的需求,請參見冷熱分離介紹。
開通容量型雲端儲存
如何開通容量型雲端儲存,請參見開通容量型雲端儲存。
效能測試
測試環境:Master: ecs.c5.xlarge, 4core 8G;4個 RegionServer:ecs.c5.xlarge, 4core 8G。
寫效能:
表類型 | avg rt | p99 rt |
熱儲存表 | 1736 us | 4811 us |
容量型雲端儲存表 | 1748 us | 5243 us |
每條記錄10列,每列100 B,也就是單行1KB,16線程寫。
隨機查詢Get效能:
表類型 | avg rt | p99 rt |
熱儲存表 | 1704 us | 5923 us |
容量型雲端儲存表 | 14738 us | 31519 us |
關閉表的BlockCache。每條記錄10列,每列100 B,也就是單行1KB。8線程讀,每次讀出1KB。
範圍查詢Scan效能:
表類型 | avg rt | p99 rt |
熱儲存表 | 6222 us | 20975 us |
容量型雲端儲存表 | 51134 us | 115967 us |
關閉表的BlockCache。每條記錄10列,每列100 B,也就是單行1KB。8線程讀,每次讀出1KB。Scan的Caching設定為30。
容量型雲端儲存讀取限流說明
容量型雲端儲存目前僅適用於寫多讀少的情境。同時,容量型雲端儲存對讀取IOPS(Input/Output Operations Per Second)存在以下限制:
每個執行個體的容量型雲端儲存有一個Token(令牌)池,當監控中剩餘可用Token數為
0
時,容量型雲端儲存的讀取將會被限速。此時系統僅提供一個最低保底的IOPS,每個節點僅提供保底10 IOPS能力。Token池中的Token會以一定速率積累,該速率取決於執行個體容量型雲端儲存的實際容量,容量越大,積累速率越快。
Token池存在最大容量上限,積累滿後可用Token數將不再繼續增加。同時,該上限也取決於容量型雲端儲存的實際容量,容量越大,上限越大。
在Token池中還有存量的情況下,容量型雲端儲存的IO讀取行為不會受到限制,每次IO讀取會消耗一個Token,單節點的最高IOPS為1500。
上層資料引擎(例如寬表引擎、時序引擎等)對容量型雲端儲存的訪問,取決於資料引擎如何將讀取請求轉換為實際的IO請求。例如,一次請求命中了多個資料區塊因此產生了多次IO請求,或請求資料區塊位於緩衝中因此不產生實際IO等情況。因此,無法簡單地通過預估來確定上層多模引擎可以承擔的讀取請求QPS,建議根據Token池的消耗情況進行評估。
容量型雲端儲存監控指標說明
登入Lindorm管理主控台。在左上方選擇執行個體所屬的地區。在執行個體列表頁,單擊目標執行個體ID或者目標執行個體所在行操作列的管理。
在左側導覽列,單擊執行個體監控,查看底層儲存指標。各項指標說明如下:
指標
說明
可用token百分比
執行個體層級指標,剩餘可用token的百分比。如果執行個體整體可用token百分比降為
0%
,讀請求將會被限流等待。DataNode容量型雲端儲存IOPS
節點層級指標,每次讀取IOPS會消耗1個token。該指標數值越高,token消耗越快。由於資料引擎與IO模型的不同,資料庫的讀請求可能會讀多次資料並消耗多個token。
容量型雲端儲存限流OPS
節點層級指標,表示每個節點被限流的讀OPS。該值大於
0
表示有讀請求被限流,會導致上層讀延遲增加。重要執行個體整體可用token百分比大於
0
,但單節點IOPS大於1500
,也會觸發限流。