测量AWS Lambda启动持续时间

时间:2016-03-09 10:36:56

标签: amazon-web-services aws-lambda aws-api-gateway

我目前正在收集和记录我的功能的性能指标,我唯一缺少的指标是启动持续时间(我的功能相当大,压缩约35MB)。我真的需要知道启动需要多长时间,更重要的是,它发生的频率(我感觉它的发生频率更高,因为我的并发执行限制已经提高)。

有没有办法在Lambda中检索此信息?或者有人可能会想到通过例如API网关呼叫传递当前时间戳的可能性。映射模板,所以我可以自己计算启动时间吗?

2 个答案:

答案 0 :(得分:2)

AWS最近在cloudwatch日志和Billed Duration日志中引入了 Init Duration (初始化持续时间),用于在实际调用开始之前测量冷启动λ。

从Lambda日志流中的“报告”部分

这是我的一个lambda的示例日志-

Duration: 1200.50 ms 
Billed Duration: 1300 ms 
Memory Size: 3008 MB 
Max Memory Used: 308 MB 
Init Duration: 4317.73 ms

答案 1 :(得分:1)

目前还没有确定的方法来衡量功能启动时间。目前,您最好的选择是为您的API启用CloudWatch Logs,并处理日志事件的时间戳。应该很明显哪些调用会触发函数初始化,因为调用Lambda之前和之后的事件之间的时间差将显着高于平均值。基于此,您可以生成有关初始化比率和平均初始化时间的一些统计信息。

谢谢, 莱恩