tongchenkeji 发表于:2023-1-4 20:51:150次点击 已关注取消关注 关注 私信 启动不了怎么回事呢?[阿里云Serverless] 暂停朗读为您朗读 启动不了怎么回事呢? 「点点赞赏,手留余香」 赞赏 还没有人赞赏,快来当第一个赞赏的人吧! 海报 Serverless 应用引擎# 启动不了怎么回事呢?1
飞云觅宙AM 2023-11-28 2:57:52 2 Serverless分为冷启动和热启动,整个函数运行需要四步:下载代码,启动容器,初始化运行环境,运行代码。当函数第一次执行时,会经过完整的四个步骤,前三个过程统称为“冷启动”,最后一步称为“热启动”。 当容器从“冷态”开始启动时,函数需要: 从外部持久化存储中获取代码包; 逐步启动(Spin up)容器; 在内存中加载程序包代码; 运行函数的处理程序(handler)方法/函数。 这些步骤需要一段时间才能完成,尤其是第 1 到第 3 步。当容器已经变“热”后,它会直接跳到第 4 步,这样可以节省大量的时间并能使应用程序的响应更快。 “冷启动”的影响从几百毫秒到几秒或几十秒不等。有些原因会导致导致冷启动延迟。比如内存大小:分配给函数的内存越多,启动速度越快; 运行时:与编译运行时(Java、.NET、C#)相比,通常脚本语言(Python、Ruby、Javascript)在启动时的性能要好得多, 速度能提高 100 倍,; VPC:在虚拟私有云中运行的函数会有额外的延迟,通常要多一到两秒才能启动;尝试着将你的函数设计为运行于 VPC 之外; 代码包大小:包越大,启动新容器所需的时间越长,尽管如此,这可能是影响启动延迟最不重要的因素了。 以下 6 种策略可以解决或至少可以缓解容器启动延迟对 Serverless 应用程序的影响: 监控性能并记录相关指标, 增加内存分配, 选择更快的运行时, 将共享数据保存在内存中, 压缩程序包的大小, 保留一个预热的函数池, 使用时间序列预测。 在函数执行期间最好始终记录时间戳,并监控函数调用历史记录中的持续时间异常值。 每当它的性能低于预期时,查看日志并确定代码的哪些部分导致了性能的下降。
好像是因为你本地没装go环境
此答案来自钉钉群“Serverless 开发者技术学习群”
Serverless分为冷启动和热启动,整个函数运行需要四步:下载代码,启动容器,初始化运行环境,运行代码。当函数第一次执行时,会经过完整的四个步骤,前三个过程统称为“冷启动”,最后一步称为“热启动”。
当容器从“冷态”开始启动时,函数需要: 从外部持久化存储中获取代码包; 逐步启动(Spin up)容器; 在内存中加载程序包代码; 运行函数的处理程序(handler)方法/函数。 这些步骤需要一段时间才能完成,尤其是第 1 到第 3 步。当容器已经变“热”后,它会直接跳到第 4 步,这样可以节省大量的时间并能使应用程序的响应更快。
“冷启动”的影响从几百毫秒到几秒或几十秒不等。有些原因会导致导致冷启动延迟。比如内存大小:分配给函数的内存越多,启动速度越快; 运行时:与编译运行时(Java、.NET、C#)相比,通常脚本语言(Python、Ruby、Javascript)在启动时的性能要好得多, 速度能提高 100 倍,; VPC:在虚拟私有云中运行的函数会有额外的延迟,通常要多一到两秒才能启动;尝试着将你的函数设计为运行于 VPC 之外;
代码包大小:包越大,启动新容器所需的时间越长,尽管如此,这可能是影响启动延迟最不重要的因素了。
以下 6 种策略可以解决或至少可以缓解容器启动延迟对 Serverless 应用程序的影响: 监控性能并记录相关指标, 增加内存分配, 选择更快的运行时, 将共享数据保存在内存中, 压缩程序包的大小, 保留一个预热的函数池, 使用时间序列预测。
在函数执行期间最好始终记录时间戳,并监控函数调用历史记录中的持续时间异常值。 每当它的性能低于预期时,查看日志并确定代码的哪些部分导致了性能的下降。