Lorsque vous appelez l'API DescribeMetricLast ou DescribeMetricList, une erreur Throttling.User ou Request was denied due to user flow control indique que vos requêtes sont limitées en débit. Découvrez les causes de cette limitation et les méthodes pour y remédier.
Causes de la limitation du débit
Les API DescribeMetricLast et DescribeMetricList sont soumises à une limite de débit de 50 requêtes par seconde (QPS). Toute requête dépassant ce seuil est limitée.
Consultation du pic de QPS
-
Pour connaître la limite de débit de l'API, consultez la page Limites de débit des API.
Dans la liste API Rate Limits, vous pouvez consulter les quotas et les valeurs de pointe pour les API DescribeMetricLast et DescribeMetricList.
-
Pour vérifier l'utilisation de la limite de débit de l'API et évaluer la valeur de pointe, accédez à la section Utilisation des limites de débit des API.
Dans le graphique de surveillance de l'option API Rate Limit Usage (%), identifiez la valeur de pointe et calculez le QPS maximal. Par exemple, si la limite de débit de l'API est de 50 et que l'utilisation de pointe est de 5 %, le QPS de pointe est de 50 × 0,05 = 2,5.
Solutions
-
Effectuez des requêtes par lots.
Par exemple, pour interroger 50 instances ECS, définissez le paramètre de requête
Dimensionssur[{"instanceId":"InstanceA"},{"instanceId":"InstanceB"}]. Cette approche vous permet d'interroger toutes les instances via une seule requête.RemarqueUne seule requête peut interroger jusqu'à 50 instances par lot.
-
Recourez au lissage de charge pour répartir les appels d'API dans le temps et réduire le QPS de pointe.
Supposons que vous disposiez de 10 produits cloud, chacun comportant 10 métriques interrogées toutes les 10 secondes. L'interrogation simultanée de toutes les métriques génère un QPS de 100. En étalant les requêtes uniformément sur la période de 10 secondes, vous ramenez le QPS à 10.
-
Exploitez la fonctionnalité d'exportation de données en temps réel pour exporter vos données de surveillance.
Cette solution offre un excellent rapport qualité-prix, une faible latence et une grande fiabilité. L'API BatchExport prend en charge jusqu'à 1 000 requêtes par seconde.
Si aucune de ces solutions ne résout le problème, soumettez un ticket.