Um erro Throttling.User ou Request was denied due to user flow control ao chamar a API DescribeMetricLast ou DescribeMetricList indica que suas solicitações estão sendo limitadas. Entenda por que a limitação ocorre e como resolver o problema.
Causas da limitação
As APIs DescribeMetricLast e DescribeMetricList têm um limite de taxa de 50 consultas por segundo (QPS). O sistema limita as solicitações que excedem esse valor.
Consultar o pico de QPS
-
Para verificar o limite de taxa da API, consulte Limites de Taxa da API.
Na lista API Rate Limits, visualize as cotas e os valores de pico das APIs DescribeMetricLast e DescribeMetricList.
-
Para analisar o uso do limite de taxa da API e avaliar o valor de pico, acesse Uso do Limite de Taxa da API.
No gráfico de monitoramento de API Rate Limit Usage (%), localize o valor máximo e calcule o pico de QPS. Por exemplo, se o limite da API for 50 e o uso de pico for 5%, o QPS de pico será 50 × 0,05 = 2,5.
Soluções
-
Consulte métricas em lotes.
Por exemplo, para consultar 50 instâncias ECS, defina o parâmetro de solicitação
Dimensionscomo[{"instanceId":"InstanceA"},{"instanceId":"InstanceB"}]. Isso permite consultar todas as instâncias em uma única solicitação.NotaUma única solicitação pode consultar até 50 instâncias em lote.
-
Distribua as chamadas de API ao longo do tempo para reduzir o QPS de pico.
Por exemplo, suponha que você tenha 10 produtos de nuvem, cada um com 10 métricas consultadas a cada 10 segundos. Consultar todas as métricas simultaneamente resulta em um QPS de 100. Distribuir as consultas uniformemente durante o período de 10 segundos reduz o QPS para 10.
-
Use o recurso de exportação de dados em tempo real para exportar dados de monitoramento.
Esse recurso é econômico, tem baixa latência e alta confiabilidade. A API BatchExport suporta até 1.000 consultas por segundo.
Se nenhuma dessas soluções resolver o problema, envie um ticket.