我的Lambda在启动和第一线之间做了什么?

Tom*_*ies 12 aws-sdk .net-core aws-lambda aws-xray

我在AWS中运行在.NET Core 2.1运行时的C#中编写了一些Lambda函数.它们的冷启动时间非常大(> 8s,256MB,> 4s,512).

但是,我不确定它是冷启动时间还是别的什么; 我有其他使用dotnet编写的lambda,它们似乎有更短的启动时间.

X射线迹线显示完成"启动"和发生任何事情之间存在巨大差距.我在我的处理程序的第一行开始一个X射线子段(在跟踪中看作"配置").

有什么我想念的吗?

AWS X-Ray跟踪

小智 1

这 ”?” 您提供的图像中是 Lambda 系统代码。

“初始化”部分包括运行函数的构造函数和静态块。但它还包括对程序集的一些反射,以验证和查找函数类和构造函数。它还会查找并验证您的序列化器(如果您正在使用序列化器)。

我无法给出为什么这个函数的行为与其他函数不同的明确答案。您能否展示一些您要比较的函数的图表以及函数的描述(内存、函数正在做什么、zip 包中有哪些依赖项)?