负载测试 AWS API Gateway

Posted

技术标签:

【中文标题】负载测试 AWS API Gateway【英文标题】:Load Testing AWS API Gateway 【发布时间】:2018-03-01 09:25:34 【问题描述】:

正如问题所暗示的,我需要以 100 万 RPS 对 API 网关资源执行负载测试。 Apache JMeter 是一个非常好的负载测试工具。但我认为不可能从一台机器上模拟如此巨大的负载。在这种情况下,JMeter Clusters 可能会很有用。但是设置它可能很麻烦。

我想知道可以使用哪些其他解决方案?

AWS 是否提供任何解决方案? (代码管道具有运行负载测试的操作,但我猜这不会达到目的)

【问题讨论】:

【参考方案1】:

您可以为此使用 BlazeMeter - 这正是我们所做的。 一件事:请注意,JMeter 与 RPS 无关,而是与 VU(虚拟用户)有关。

【讨论】:

我们使用 JMeter + 吞吐量共享计时器 + 并发线程组的正确配置成功地进行了 AWS API Gateway 负载测试,所以我想说 JMeter 可用于测试 RPS 用户案例。【参考方案2】:

AWS 本身不提供负载测试解决方案,但它与多个负载测试提供商集成,因此您可以将负载测试步骤添加到您的管道中,它将从 AWS 合作伙伴端启动负载测试:

Automated Performance Testing with AWS CodePipeline A Walk-Through on Performance Testing on the AWS Blog Performance Testing in Continuous Delivery Using AWS CodePipeline and BlazeMeter

【讨论】:

您好 Dmitri,谢谢您的回答,正如我在原始问题中提到的,CodePipeline 将如何帮助测试 API 网关?你的意思是管道 Lambda 代码并在 API Gateway 上启动负载测试,这将影响已部署的 Lambda?

以上是关于负载测试 AWS API Gateway的主要内容,如果未能解决你的问题,请参考以下文章

aws分布式负载测试结果和jmeter结果不同

连接 AWS Api Gateway 和私有 ALB

AWS EC2+Docker+JMeter构建分布式负载测试基础架构

如何对API进行负载测试与调优(一)

AWS SAM 模板 - 定义由 API Gateway 触发的 SQS 队列

Springcloud + nacos + gateway 负载均衡(ribbon)