操作場景
自治限流是通過預先設置CPU閾值、可允許最大活躍連接數等前置條件,當相關條件滿足時系統會對會話進行自動流控,在突發流量過高、異常讀寫等業務場景下保障核心業務的可用性。
前提條件
首次使用自治限流模塊,請先升級高級智能運維包。
1. 在自治限流模塊,單擊“升級”,在彈框中,了解增值功能以及費用說明。
2. (可選)開啟“收集慢SQL”和“收集全量SQL”開關后,對慢SQL和全量SQL進行多維度統計聚合,具體請參見查看實例慢SQL和查看實例TOP SQL。
操作步驟
步驟 1 登錄管理控制臺。
步驟 2 單擊管理控制臺左上角的 ,選擇區域。
步驟 3 選擇“數據庫 > 關系型數據庫”。進入關系型數據庫信息頁面。
步驟 4 在“實例管理”頁面,選擇目標實例,單擊實例名稱,進入實例的“基本信息”頁簽。
步驟 5 在左側導航欄選擇“智能DBA助手 > 歷史診斷”。
步驟 6 選擇“全量SQL > 自治限流”。
步驟 7 單擊“自治限流”。
步驟 8 打開 ,開啟自治限流開關,配置自治限流參數,參數說明請參見下表。
自治限流配置示例:
在限流時間窗15:00-18:00,檢測實例指標“CPU利用率 >= 90%”和“活躍會話數 >=20”,且持續5分鐘都處于該狀態則觸發自治限流。每次限流時間最大5分鐘,在限流期間,如果CPU利用率或活躍會話數不再滿足限流策略,限流將退出。
表 自治限流參數
| 參數項 | 說明 |
|---|---|
| 數據庫名 | 指定需要限流的數據庫名稱。指定后需要執行use <database>語句,會話才會被限流。 不填數據庫名默認對全部數據庫限流。 |
| 用戶名 | 指定需要限流的用戶名。 |
| 限流時間窗 | 選擇限流時間段,限流時間段內僅觸發一次自治限流。 |
| 每次最大限流時長 | 在限流時間窗內滿足限流策略時,對數據庫限流的最大時長。 |
| CPU利用率 | 填寫實例的CPU利用率閾值(≥70%),并選擇與“活躍會話數”的關系。二者關系為“且”或者“或”。 |
| 活躍會話數 | 輸入活躍會話數條件閾值,范圍為1~5000。 |
| 持續時間(分鐘) | 滿足CPU利用率和活躍會話數條件的會話持續一定時間后觸發自治限流。可以自定義事件持續時間,支持2~60分鐘。 例如:實例的CPU利用率在90%以上并且活躍會話數在1000以上,該事件持續30分鐘才會觸發自治限流。 |
| 允許限流的最大活躍連接數 | 觸發限流規則后,當連接數下降到該配置項的值,會停止限流。取值范圍為1~5000。 |
步驟 9 單擊“確定”。
步驟 10 當觸發數據庫限流后,在自治限流頁面生成一條限流記錄。并且支持查看歷史限流記錄。
----結束
后續操作
自動流控后,可以結合業務情況判斷是否需要Kill會話,具體請參見管理實時會話。