全部產品
Search
文件中心

Cloud Monitor:如何處理查詢API限流問題?

更新時間:Jun 19, 2024

當您調用API DescribeMetricLastDescribeMetricList時,返回資訊Throttling.UserRequest was denied due to user flow control,說明API被限流。本文為您介紹API限流的原因和解決方案。

限流原因

DescribeMetricLastDescribeMetricList的QPS是50次/秒,當您調用API時QPS超過此值就會被限流。

查詢QPS峰值

  • 查詢API速率配額,請參見API速率配額

    API速率配額列表中,您可以看到DescribeMetricLastDescribeMetricList的配額和峰值。

  • 查詢API速率配額的使用率,並評估峰值,請參見API速率配額使用率

    API速率配額使用率(%)的監控圖表中找到峰值,並計算QPS的峰值,例如:API速率配額是50,使用率峰值是5%,QPS峰值是50×0.05=2.5。

處理方法

  1. 批量查詢監控指標。

    例如:您有50個ECS執行個體待查詢,建議將請求參數Dimensions設定為[{"instanceId":"執行個體A"},{"instanceId":"執行個體B"}],這樣可以一次查詢。

    說明

    單次請求最多支援批量查詢50個執行個體。

  2. 削峰填穀調用API,降低QPS峰值。

    例如:您有10個雲產品,每個雲產品有10個監控指標,希望10秒查詢一次。如果所有監控指標同時查詢,則QPS為100,如果平均到10秒內,QPS為10。

  3. 對於匯出即時監控資料的情境,建議使用即時匯出監控資料的方案。

    即時匯出監控資料具有成本低、時延低和可靠度高等優點,BatchExport的QPS是1000次/秒。

  4. 如果以上方法均不能解決問題,請給CloudMonitor提交工單