我在同一区域(us-east-1)中有lambda函数和dynamo db表。在lambda函数正进行非常简单的查询:从lambda函数对dynamodb的请求非常缓慢
params =
TableName: 'users'
Item:
email:
S: event.body.email
ConditionExpression: 'attribute_not_exists (email)'
dynamodb.putItem(params, context.done)
只有在DynamoDB表几排,对电子邮件和读/写throughtputs散列键设置为5/5。
Lambda函数在〜4秒内执行......这非常慢。难道我做错了什么?
我测试过我与lambda函数不同的内存设置功能(它被设置为先前128MB):
- 256MB =>〜2000毫秒
- 512MB =>〜1000毫秒
- 1024MB =>〜500ms的
- 1536MB =>〜300ms的
因此,似乎响应时间取决于内存的1-1(事实上,随着AWS随着内存的扩大而增加计算容量)。仍然这是疯狂的,因为要制作非常简单的REST API,我必须设置1536mb内存,使其“响应”,而我的程序使用17mb!
嗯上我已经计算过它会花费另一方面:
- $ 8.32每1个畅想4000ms请求使用
- 10.004 $每1个畅想300ms的请求,128MB内存采用1536MB内存
所以它不是那么糟糕我猜...
你确定你没有在你的Lambda函数中做其他任何事吗?简单的JS调用应该不需要那么多的内存,并且不应该花费那么多时间。 – Guy
只是为了比较,如果你打SimpleDB,你会得到什么样的表现? –