Como seleciono a melhor capacidade de cache do Amazon API Gateway para não atingir um limite de taxa?

Última atualização: 18/11/2021

O meu API Gateway tem limitação de taxa e eu quero evitar o controle de utilização. Como posso selecionar a melhor capacidade de cache do API Gateway para a minha workload?

Breve descrição

O Amazon API Gateway controla as solicitações para a sua API para evitar que ela fique sobrecarregada com solicitações demais. Ative o cache da API para reduzir o número de chamadas feitas para o seu endpoint.

Há vários tamanhos de cache do API Gateway disponíveis. Para selecionar o tamanho de cache apropriado, execute um teste de carga na sua API e, em seguida, analise as métricas do Amazon CloudWatch.

Resolução

Ative o armazenamento em cache do API Gateway

Ative o armazenamento em cache do Amazon API Gateway para o seu estágio de API. A capacidade de cache depende do tamanho das suas respostas e da workload.

Observação: a capacidade de cache afeta a CPU, a memória e a largura de banda da rede da instância de cache. Como resultado, a capacidade de cache pode afetar a performance do seu cache.

Depois de criar o seu cache, execute um teste de carga para determinar se o tamanho do cache é alto o suficiente para evitar o controle de utilização.

Execute um teste de carga

Execute um teste de carga na sua API. Você pode usar a solução AWS Distributed Load Testing para simular o teste de carga.

Execute o teste de carga por pelo menos dez minutos e espelhe o seu tráfego de produção. Quando o teste de carga estiver em execução, monitore as métricas relacionadas do CloudWatch usando as etapas da seção a seguir.

Monitore métricas de API no CloudWatch

  1. Abra o console do CloudWatch.
  2. No painel de navegação, selecione Metrics (Métricas).
  3. Escolha a métrica ApiGateway.
  4. Monitore as métricas Latency, 4XXError, 5XXError, CacheHitCount e CacheMissCount para a API que você está testando.
  5. Se você observar um aumento de Latency, 4XXError, 5XXError ou CacheMissCount, com uma redução de CacheHitCount, redimensione o seu cache do API Gateway para uma capacidade maior.
  6. Se você observar um aumento de CacheHitCount e nenhum aumento correspondente de CacheMissCount, redimensione o seu cache do API Gateway para uma capacidade menor.
  7. Após qualquer alteração na capacidade do seu cache, execute o teste de carga novamente até que não haja aumentos ou reduções repentinas.