使用場景
SQL限流是指通過設置語句類型、關鍵字等匹配SQL語句,當所匹配的SQL語句超過設置的最大并發數時,數據庫實例會拒絕執行此SQL,從而解決SQL并發數過高導致的實例不穩定問題。
可能引起SQL并發過高的場景有:
業務流量突增:出現緩存穿透、異常調用等情況,導致某類SQL并發數急劇上升。
慢查詢堆積:未創建索引的SQL被大量調用,出現大量慢SQL,影響正常業務。
約束限制
僅MySQL8.0版本實例支持。
僅2025年8月之后新開通的實例才支持SQL限流功能。
僅支持設置最多100條限流規則。
一條規則最多支持1024字符的設置。
當恢復實例時,目標實例不會帶上源實例的限流規則,需要重新設置。
只讀實例的限流規則和主實例的一致,不允許單獨設置只讀實例的限流規則,但可以單獨關閉只讀實例的限流開關,即不限制。
創建限流規則
在天翼云官網首頁的頂部菜單欄,選擇產品 > 數據庫 > 關系型數據庫 > 關系數據庫MySQL版,進入關系數據庫MySQL產品頁面。然后單擊管理控制臺,進入概覽頁面。
在左側導航欄,選擇MySQL > 實例管理,進入實例列表頁面。然后在頂部菜單欄,選擇區域和項目。
在實例列表中,單擊目標實例名稱,進入實例基本信息頁面。
單擊SQL限流,進入SQL限流管理頁面。
單擊設置限流開關,將其打開,打開后限流規則才會生效。
單擊創建限流規則,根據實際情況選擇按照SQL語句限流或者庫表維度限流。
設置最大并發數,然后單擊確定。
并發數取值范圍:0~1000000,其中0表示攔截此語句(不執行)。
在操作列,修改或者刪除規則 。
SQL限流分析
單擊SQL限流分析,將會跳轉至DMS控制臺,可通過DMS提供的SQL限流服務獲取更多限流分析信息。
您只需在DMS控制臺的SQL限流頁面創建任務即可使用該功能,支持選擇限流時間段進行分析,具體可參考界面進行設置。