當您調用API DescribeMetricLast和DescribeMetricList時,返回資訊Throttling.User或Request was denied due to user flow control,說明API被限流。本文為您介紹API限流的原因和解決方案。
限流原因
DescribeMetricLast和DescribeMetricList的QPS是50次/秒,當您調用API時QPS超過此值就會被限流。
查詢QPS峰值
查詢API速率配額,請參見API速率配額。
在API速率配額列表中,您可以看到DescribeMetricLast和DescribeMetricList的配額和峰值。
查詢API速率配額的使用率,並評估峰值,請參見API速率配額使用率。
在API速率配額使用率(%)的監控圖表中找到峰值,並計算QPS的峰值,例如:API速率配額是50,使用率峰值是5%,QPS峰值是50×0.05=2.5。
處理方法
批量查詢監控指標。
例如:您有50個ECS執行個體待查詢,建議將請求參數
Dimensions設定為[{"instanceId":"執行個體A"},{"instanceId":"執行個體B"}],這樣可以一次查詢。說明單次請求最多支援批量查詢50個執行個體。
削峰填穀調用API,降低QPS峰值。
例如:您有10個雲產品,每個雲產品有10個監控指標,希望10秒查詢一次。如果所有監控指標同時查詢,則QPS為100,如果平均到10秒內,QPS為10。
對於匯出即時監控資料的情境,建議使用即時匯出監控資料的方案。
即時匯出監控資料具有成本低、時延低和可靠度高等優點,BatchExport的QPS是1000次/秒。
如果以上方法均不能解決問題,請給CloudMonitor提交工單。