系統負載load是衡量系統工作量的一個指標,具體的表示為:在特定時間間隔內,系統處於可運行狀態和不可中斷狀態的平均進程數。監控負載load是一個重要指標,可以判斷當前業務的負載情況,用於及時警示並做出應對措施。
實現原理
本方案使用雲助手外掛程式ACS-ECS-HighLoad,通過vfork命令建立出預期數量的進程,以達到目標的load值,每個進程建立後執行sleep動作,直至逾時退出。因此該情境對系統業務影響較小。
使用指南
演練準備
請確保您的ECS執行個體已安裝雲助手Agent,並且雲助手狀態為正常。具體操作,請參見查看雲助手狀態及異常狀態處理。
故障注入
登入ECS執行個體。
具體操作,請參見使用Workbench工具以SSH協議登入Linux執行個體。
使用具有sudo存取權限的使用者,運行雲助手外掛程式
ACS-ECS-HighLoad。sudo acs-plugin-manager --exec --plugin ACS-ECS-HighLoad --params inject,[num-processes=paramA],[duration=paramB][]內為可選故障注入參數,參數說明:num-processes(可選):需要建立的進程數量,該值略會近似預期達到的最大load值,預設100。
duration(可選):期間,預設為300s。
顯示如下所示時,說明雲助手外掛程式
ACS-ECS-HighLoad已啟動。
查看故障注入是否成功。
使用top命令,分別檢查1分鐘、5分鐘、15分鐘系統負載的指標。
在CloudMonitor中檢查系統負載曲線。
故障恢複
方法一(推薦):等待逾時自動回復。
方法二:在ECS執行個體中執行故障恢複命令。
sudo acs-plugin-manager --exec --plugin ACS-ECS-HighLoad --params recover
演練樣本
故障注入
sudo acs-plugin-manager --exec --plugin ACS-ECS-HighLoad --params inject返回如下所示,表示注入成功,

查看注入效果。
使用top命令中查看系統負載,如下圖所示,1 min為98.33,5 min為58.24,15 min為32.66。

在CloudMonitor控制台查看平均負載。

等待故障恢複。
等待逾時,系統負載會慢慢恢複。如下圖,1 min的負載已經低於5 min的負載,說明已經在恢複中。

執行故障恢複命令。
sudo acs-plugin-manager --exec --plugin ACS-ECS-HighLoad --params recover