Kesalahan Throttling.User atau Request was denied due to user flow control saat Anda memanggil API DescribeMetricLast atau DescribeMetricList menunjukkan bahwa permintaan Anda mengalami pembatasan kecepatan. Pelajari penyebab dan cara mengatasinya.
Penyebab pembatasan kecepatan
API DescribeMetricLast dan DescribeMetricList memiliki batas kecepatan sebesar 50 permintaan per detik (QPS). Permintaan yang melebihi batas ini akan dibatasi.
Kueri QPS puncak
-
Untuk mengetahui batas kecepatan API, lihat API Rate Limits.
Pada daftar API Rate Limits, Anda dapat melihat kuota dan nilai puncak untuk API DescribeMetricLast dan DescribeMetricList.
-
Untuk memeriksa penggunaan batas kecepatan API dan mengevaluasi nilai puncaknya, lihat API Rate Limit Usage.
Pada grafik pemantauan API Rate Limit Usage (%), temukan nilai puncak dan hitung QPS puncaknya. Misalnya, jika batas kecepatan API adalah 50 dan penggunaan puncaknya 5%, maka QPS puncaknya adalah 50 × 0,05 = 2,5.
Solusi
-
Lakukan kueri metrik secara batch.
Misalnya, untuk mengkueri 50 Instance ECS, atur parameter permintaan
Dimensionsmenjadi[{"instanceId":"InstanceA"},{"instanceId":"InstanceB"}]. Dengan demikian, Anda dapat mengkueri semua instans dalam satu permintaan.CatatanSatu permintaan dapat mengkueri hingga 50 instans dalam satu batch.
-
Terapkan Penggeseran beban puncak untuk menyebarkan panggilan API sepanjang waktu dan mengurangi QPS puncak.
Misalnya, Anda memiliki 10 produk cloud, masing-masing dengan 10 metrik yang dikueri setiap 10 detik. Jika semua metrik dikueri sekaligus, QPS-nya menjadi 100. Dengan menyebarkan kueri secara merata selama periode 10 detik tersebut, QPS-nya turun menjadi 10.
-
Gunakan fitur ekspor data real-time untuk mengekspor data pemantauan.
Fitur ini hemat biaya, berlatensi rendah, dan sangat andal. API BatchExport mendukung hingga 1.000 permintaan per detik.
-
Jika solusi di atas tidak menyelesaikan masalah, submit a ticket.