我在同一区域(us-east-1)中有lambda函数和dynamo db表。在lambda函数中,我执行非常简单的查询:
params =
TableName: 'users'
Item:
email:
S: event.body.email
ConditionExpression: 'attribute_not_exists (email)'
dynamodb.putItem(params, context.done)
DynamoDB表中只有几行,电子邮件上有Hash Key,读取/写入吞吐量设置为5/5。
Lambda函数在~4秒内执行...这非常慢。我做错了吗?
我用lambda函数的不同内存设置测试了我的函数(以前设置为128mb):
因此,似乎响应时间取决于内存(实际上在计算容量上,因为AWS会将其与内存一起扩展)。仍然这很疯狂,因为要制作非常简单的REST API,我必须设置1536mb内存以使其“响应”,而我的程序使用17mb!
另一方面,我已经计算出它会花费:
所以我猜不是那么糟糕......
答案 0 :(得分:2)
好吧,问题也可能与取消暂停运行Lambda
函数的容器有关。您还可能希望优化初始化对象的方式,以便每次调用函数时都不会重新初始化对象。