系統支持自適應流控或手動設置系統規則,自適應流控是根據系統的CPU使用率自動動態地調整應用程序的入口流量;系統規則是從整體維度手動設置規則,對應用入口流量進行控制。目的都是為了讓系統的入口流量和系統的負載達到一個平衡,保證系統在最大吞吐量狀態下穩定運行。
前提條件
將應用接入AHAS應用防護,具體操作請參見接入應用方式。
背景信息
系統支持開啟自適應流控或手動設置系統規則:
- 自適應流控:當開啟自適應流控,系統會根據CPU使用率動態調節應用的入口流量,在盡可能保證吞吐量的同時保證高負載下系統穩定。
- 系統規則:當關閉自適應流控,需要您手動設置系統規則。系統規則從整體維度對應用入口流量進行控制,結合應用的負載、CPU使用率、總體平均RT、入口QPS和并發線程數等幾個維度的監控指標,讓系統的入口流量和系統的負載達到一個平衡,保證系統在最大吞吐量狀態下穩定運行。
系統保護規則是應用整體維度的,而不是資源維度的,并且僅對入口流量生效。入口流量指的是進入應用的流量,例如Web服務或Dubbo服務端接收的請求。通過自定義埋點接入和通過注解接入的應用,入口流量為EntryType.IN
的邏輯被調用時產生的流量。配置系統規則的對象必須是入口流量,且默認接口為Dubbo或HSF才生效,如默認埋點的Dubbo、Servelet等,或者通過修改EntryType.IN
來讓系統規則對該方法生效,EntryType.IN
的詳情請參見通過自定義埋點接入和接入Spring應用。
系統規則支持以下的模式:
- Load(僅對Linux、Unix-like機器生效):當系統Load 1超過閾值且系統當前的并發線程數超過系統容量時才會觸發系統保護。
- CPU使用率:當系統CPU使用率超過閾值(0.0~1.0)即觸發系統保護。
- RT:當單臺機器上所有入口流量的平均RT達到閾值即觸發系統保護。
- 線程數:當單臺機器上所有入口流量的并發線程數達到閾值即觸發系統保護。
- 入口QPS:當單臺機器上所有入口流量的QPS達到閾值即觸發系統保護。
對于一個應用來說,每種相同的系統保護規則最多只能存在一條,即一個應用最多配置五條系統保護規則。配置系統規則的原理請參見系統防護。
新建系統規則
- 登錄AHAS控制臺。
- 在AHAS控制臺左上角,選擇應用接入的地域。
- 在控制臺左側導航欄中選擇 。
- 在應用防護頁面的應用卡片頁簽單擊目標應用卡片。
- 在左側導航欄單擊規則管理,然后單擊自適應流控頁簽。
- 在頁面左上角,關閉自適應流控,在對話框中單擊確定關閉。
- 在自適應流控頁簽右上角單擊新增系統保護規則。
- 在新增系統保護規則對話框中配置規則信息。
參數 描述 使用場景說明 CPU使用率 當系統CPU使用率超過閾值即觸發系統保護,閾值設置范圍為0.0~1.0(代表0%~100%)。 適用于設置基礎資源水位的場景,比如需要保證一定的冗余水位。但系統水位不宜過高,需要留部分水位。 Load 當系統的Load1超過閾值,且系統當前的并發線程數超過系統容量時才會觸發系統保護。系統容量由系統的maxQps * minRt計算得出。 適用于設置基礎資源水位的場景,比如需要保證一定的冗余水位。但系統水位不宜過高,需要留部分水位。 線程數 當單臺機器上所有入口流量的并發線程數達到閾值即觸發系統保護。 適用于設置基礎資源水位的場景,比如需要保證一定的冗余水位。但系統水位不宜過高,需要留部分水位。 入口平均RT 當單臺機器上所有入口流量的平均RT達到閾值即觸發系統保護,單位是毫秒。 適用于衡量入口請求的場景。 入口總QPS 當單臺機器上所有入口流量的QPS達到閾值即觸發系統保護。 適用于衡量入口請求的場景。 - 單擊新增。
文檔內容是否對您有幫助?