了解使用临时并发性在Lambda上进行负载测试的数据

0

【以下的问题经过翻译处理】 你好,

我们有一个使用Lambda触发器的API Gateway。当Lambda处于热状态时,响应时间在1-5毫秒之间,并且仅返回一个字符串。此外,Lambda还有一个版本,配置了15个预置并发。

我们正在对API Gateway端点进行负载测试,以查看高流量对其的影响。每个负载测试都是一致的负载测试,没有逐渐增加。1000 TPS负载测试执行2分钟。完成后,我们有8分钟的停机时间,然后才会执行下一个负载测试。我们的负载测试分别为1000 TPS,2000 TPS和5000 TPS。

下面是我们并发执行的截图(从Lambda控制台的监控选项卡中获取):

concurrent connections

正如您所看到的,最左侧的数据点对应于1000 TPS负载测试,导致450个并发连接。但是,中间和右侧的数据点分别对应于2000 TPS和5000 TPS负载测试,每个测试仅有<150个并发连接。

看起来APIGW + Lambda在1000 TPS负载测试的初始时刻因冷启动而性能不佳。为什么2000 TPS和3000 TPS没有遵循相同的模式?

profile picture
专家
已提问 5 个月前4 查看次数
1 回答
0

【以下的回答经过翻译处理】 Lambda执行环境在最后一次调用之后会保持热状态几分钟。可能是因为它们仍然处于热状态。您可以通过查看CloudWatch日志来验证这一点,以检查函数是否具有Init Duration(表示冷启动)。

此外,请确保将视图设置为并发调用的最大值,而不是数量。

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则