您可以通過分裂、合併作業控制活躍的Shard數量來調整Log ServiceLogstore可以提供的最大讀寫能力。分裂Shard可以自動觸發,但合并Shard必須手動執行。本文為您介紹如何分裂、合并、刪除Shard以及設定自動分裂Shard。
基本概念
Log Service中的資料必定儲存在某一個分區(Shard)上。Log Service使用Shard控制Logstore、EventStore、MetricStore的讀寫資料的能力。您在建立Logstore、MetricStore、EventStore時需要設定Shard數量,後續還可以設定Shard分裂或合并,實現Shard數量的增加或減少。更多資訊,請參見分區(Shard)。
分裂Shard
建議您根據實際業務資料流量規劃Shard個數。每個Shard支援5MB/s或500次/s的資料寫入、10MB/s或100次/s的資料讀取,此限制非硬性限制,超出限制時,系統會儘可能提供服務,但是不保證服務品質。當資料讀寫流量超出Shard讀寫能力時,需要及時分裂Shard以增加Shard個數,從而提供更高的讀寫能力。
當寫入資料的API持續報告403或者500錯誤時,您可以通過LogstoreCloudMonitor查看流量和狀態代碼判斷是否需要增加Shard。
控制台操作
在Project列表地區,單擊目標Project。
在 頁簽中,將滑鼠懸浮在目標Logstore上,然後選擇 。
在Logstore屬性頁面中,單擊修改。
選擇待分裂的Shard,單擊分裂。
重要分裂Shard時,需要選擇一個處於readwrite狀態的Shard。
選擇分裂數量,單擊確定。
單擊儲存。
自動分裂Shard
Log Service支援自動分裂Shard,協助您自動處理業務流量超出預估值的情境。自動分裂Shard需要滿足以下幾個條件。
開啟了自動分裂Shard開關。
當寫入資料量超出當前Shard的寫入服務能力且持續5分鐘以上。
Logstore中readwrite狀態的Shard數目未超過設定的最大Shard總數。
最近15分鐘內分裂出來的新Shard不會自動分裂。
您可以在建立或修改Logstore時開啟自動分裂Shard,並設定Shard的最大分裂數。
自動分裂Shard
例如原本存在4個Shard,Log Service會獨立判斷各個Shard是否滿足分裂條件。滿足分裂條件的Shard,各自進行分裂,分裂總數不會超過您所設定的最大分裂數。
最大分裂數
Shard自動分裂的最大總數目。開啟自動分裂Shard功能後,最多支援自動分裂至256個readwrite狀態的Shard。
合并Shard
當資料讀寫流量遠達不到Shard的最大讀寫能力時,建議您合并Shard,降低活躍Shard租用費用。您可以通過合併作業減少Shard數量,Log Service會找到指定Shard右側相鄰的Shard,並將兩個Shard合并。合并Shard只支援手動操作,無法自動合并。
合并Shard時,必須指定一個處於readwrite狀態的Shard,且不能是最後一個readwrite狀態的Shard。
在 頁簽中,將滑鼠懸浮在目標Logstore上,然後選擇 。
在Logstore屬性頁面中,單擊修改。
選擇待合并的Shard,單擊合并。
單擊儲存。
合并完成後,所指定的Shard和其右側相鄰Shard的狀態變成readonly。同時新產生一個readwrite狀態的Shard,新Shard的MD5範圍覆蓋原來兩個Shard的範圍。
刪除Shard
刪除Shard後,無法恢複,請謹慎操作。
自動刪除
如果您在建立Logstore時設定了資料儲存時間,那麼Shard及Shard中的資料超出儲存時間後會被自動刪除。
手動刪除
如果您在建立Logstore時開啟了永久儲存,建議您通過刪除Logstore的方式刪除Logstore中的Shard和資料。更多資訊,請參見刪除Logstore。
Shard介面
操作 | 介面 |
分裂Shard | |
合并Shard | |
查詢Shard |