全部產品
Search
文件中心

Elastic Compute Service:系統負載高演練

更新時間:Apr 19, 2025

系統負載load是衡量系統工作量的一個指標,具體的表示為:在特定時間間隔內,系統處於可運行狀態和不可中斷狀態的平均進程數。監控負載load是一個重要指標,可以判斷當前業務的負載情況,用於及時警示並做出應對措施。

實現原理

本方案使用雲助手外掛程式ACS-ECS-HighLoad,通過vfork命令建立出預期數量的進程,以達到目標的load值,每個進程建立後執行sleep動作,直至逾時退出。因此該情境對系統業務影響較小。

使用指南

演練準備

請確保您的ECS執行個體已安裝雲助手Agent,並且雲助手狀態正常。具體操作,請參見查看雲助手狀態及異常狀態處理

故障注入

  1. 登入ECS執行個體。

    具體操作,請參見使用Workbench工具以SSH協議登入Linux執行個體

  2. 使用具有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已啟動。

    image

  3. 查看故障注入是否成功。

    • 使用top命令,分別檢查1分鐘、5分鐘、15分鐘系統負載的指標。

    • 在CloudMonitor中檢查系統負載曲線。

故障恢複

  • 方法一(推薦):等待逾時自動回復。

  • 方法二:在ECS執行個體中執行故障恢複命令。

    sudo acs-plugin-manager --exec --plugin ACS-ECS-HighLoad --params recover

演練樣本

  1. 故障注入

    sudo acs-plugin-manager --exec --plugin ACS-ECS-HighLoad --params inject

    返回如下所示,表示注入成功,

    image

  2. 查看注入效果。

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

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

      image

  3. 等待故障恢複。

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

      image

    • 執行故障恢複命令。

      sudo acs-plugin-manager --exec --plugin ACS-ECS-HighLoad --params recover