如何使用python减少AWS Lambda上的延迟

时间:2016-03-27 21:02:09

标签: redis amazon-sqs latency aws-lambda amazon-sns

我正在尝试减少Lambda python函数的延迟,基本上排队任务并尽快返回。

lambda函数通过API网关接收相对较小的有效载荷。

我尝试了一些事情,但似乎都导致了±200ms的延迟:

  • 使用事件数据
  • 将消息推送到SQS
  • 使用带有InvocationType='Event'的boto3 client.invoke调用另一个lambda函数(应该异步调用)
  • 发布SNS消息

在λ函数“温暖”之后测量延迟。我还测量并与之比较:

  • 在不做任何事情的情况下返回(<1ms)
  • 在redislabs(~3-20ms)推动redis后返回

一个潜在的解决方案是使用redis作为队列而不是SQS,但我仍然想知道我是否可以在AWS工具集中改善此用例的延迟,或者我做错了什么,不应该期望这种SNS / SQS / Lambda调用的延迟?

编辑:这是一个gist,内联代码用于调用另一个lambda函数。执行时间大约150ms ......

0 个答案:

没有答案