Lambda结合SQS触发:并发执行数远未达限制的问题求助
Lambda结合SQS触发:并发执行数远未达限制的问题求助
我注意到很多关于Lambda并发的讨论,但好像没有和我遇到的情况完全匹配的,所以特意来请教大家:
我有一个基于Python Requests编写的Lambda函数,触发源是SQS队列。我已经给这个函数设置了预留并发限制,但测试时往SQS发了1000条触发消息,却只有1-2个函数实例在运行,完全没达到预期的并发数。
SQS触发器配置详情
- 激活触发器:否
- 批处理大小:1000
- 批处理窗口:100秒
- 每个分片的并发批处理数:无配置
- 最后处理结果:无
- 记录最大保留时长:无配置
- 最大并发数:800
- 失败目标:无配置
- 报告批处理项失败:是
- 重试次数:无配置
- 出错时分批:无配置
- 起始位置:无配置
- 滚动窗口时长:无配置
Lambda并发配置
- 函数并发策略:使用预留并发
- 预留并发数:800
Lambda通用配置
- 内存:128MB
- 临时存储:512MB
- 超时时间:15分钟
- SnapStartInfo:无配置
另外,SQS已经绑定了死信队列,但没有任何消息进入死信队列。据我观察,这些消息先是卡在飞行中状态,然后就莫名其妙消失了。测试过程中,Lambda最多只跑过6个并发执行实例,通常情况下只有2个,还会伴随1个失败实例。
我是用Python脚本通过boto3库发送消息到SQS的,能确认消息都成功送达了队列——因为SQS的“已接收消息”指标显示数量大概是1000条。
现在完全摸不着头脑,有没有大佬能给点排查思路或者解决方案?麻烦大家了!
备注:内容来源于stack exchange,提问作者Ashley Southworth
相关产品推荐
相关产品推荐

