如何选择最佳的 Amazon API Gateway 缓存容量以避免达到速率限制?

上次更新日期:2021 年 11 月 18 日

我的 API Gateway 受到速率限制,而我想防止限流。如何为我的工作负载选择最佳的 API Gateway 缓存容量?

简短描述

Amazon API Gateway 限制对您的 API 的请求,以防止它由于过多的请求而不堪重负。 开启 API 缓存以减少对终端节点的调用次数。

可使用多种 API Gateway 缓存大小。要选择合适的缓存大小,请在您的 API 上运行负载测试,然后查看 Amazon CloudWatch 指标。

解决方案

开启 API Gateway 缓存

为您的 API 阶段开启 Amazon API Gateway 缓存。缓存容量取决于响应和工作负载的大小。

注意:缓存容量会影响缓存实例的 CPU、内存和网络带宽。因此,缓存容量会影响缓存的性能。

创建缓存后,运行负载测试以确定缓存大小是否足以防止限流。

运行负载测试

在您的 API 上运行负载测试。您可以使用 AWS 分布式负载测试来模拟负载测试。

运行负载测试至少 10 分钟,然后镜像生产流量。当负载测试运行时,请使用以下部分中的步骤监控相关的 CloudWatch 指标。

在 CloudWatch 中监控 API 指标

  1. 打开 CloudWatch 控制台。
  2. 在导航窗格中,选择指标
  3. 选择 ApiGateway 指标。
  4. 监控您正在进行负载测试的 API 的延迟4XXError5XXErrorCacheHitCountCacheMissCount 指标。
  5. 如果您看到延迟4XXError5XXErrorCacheMissCount 增大,且 CacheHitCount 降低,请将 API Gateway 缓存调整为较大的容量。
  6. 如果您看到 CacheHitCount 增大而 CacheMissCount 没有相应的增加,则可以将 API Gateway 缓存调整为较小的容量。
  7. 在缓存容量发生任何更改之后,再次运行负载测试,直到没有突然增大或减少的现象。

这篇文章对您有帮助吗?


您是否需要账单或技术支持?