开发者社区 > 云原生 > Serverless > 正文

函数计算,这个冷启动时间是不是有点离谱啊,我代码esbuild成一个文件了

函数计算,这个冷启动时间是不是有点离谱啊,我代码esbuild成一个文件了

提问25.png

还有这里的调度时间是不是不可靠啊

提问26.png

TTF浏览器端提示500多ms 但是日志这边显示开销时间才100多ms

提问27.png

展开
收起
互问互答 2023-10-12 16:40:43 56 0
2 条回答
写回答
取消 提交回答
  • 什么是冷启动
    https://help.aliyun.com/zh/fc/use-cases/best-practice-for-reducing-the-cold-start-latency?spm=a2c4g.461004.0.i11

    函数计算提供了按量模式和预留模式两种实例使用模式。按量模式是指函数实例的分配和释放完全由函数计算系统负责,您只需要根据实例执行请求的时间按需付费。按量模式降低了管理应用资源的难度,但也造成了冷启动,延时等性能问题。

    冷启动是指在函数调用链路中的代码下载、启动函数实例容器、运行时初始化、代码初始化等环节。当冷启动完成后,函数实例就绪,后续请求就能直接被执行。

    dd88b52c71a77017b7e01ee89a4c9077_p99001.png

    优化按量模式的冷启动
    冷启动的优化用户和平台配合完成。函数计算已经对系统侧的冷启动做了大量优化。对于用户侧的冷启动,建议您从以下几方面优化:

    精简代码包

    开发者要尽量缩小代码包。去掉不必要的依赖。例如,在Node.js中执行npm prune命令,在Python中执行autoflake 。另外,某些第三方库中可能会包含测试用例源代码,无用的二进制文件和数据文件等,删除无用文件可以降低函数代码下载和解压时间。

    选择合适的函数语言

    由于语言理念的差异,Java运行时冷启动时间通常要高于其他语言。对于冷启动延迟敏感的应用,在热启动延迟差别不大的情况下,使用Python轻量语言可以大幅降低长尾延迟。

    选择合适的内存

    在并发量一定的情况下,函数内存越大,分配的CPU资源相应越多,因此冷启动表现越优。

    降低冷启动概率

    使用定时触发器预热函数。

    使用Initializer回调,函数计算会异步调用初始化接口,消除掉代码初始化的时间,在函数计算系统升级或者函数更新过程中,您对冷启动无感知。
    2b251a77f4e2058da7661cb40847df1a_p99002.png

    2023-10-13 08:42:17
    赞同 展开评论 打赏
  • 浏览器的是你总共用的时间,调用链的是请求到函数计算上的时间。
    设一个预留实例就可以了

    回答8.png

    此答案来自钉钉群“阿里函数计算官网客户”

    2023-10-12 17:04:23
    赞同 展开评论 打赏

快速交付实现商业价值。

相关产品

  • 函数计算
  • 相关电子书

    更多
    All in Serverless 阿里云核心产品全面升级 立即下载
    AIGC 浪潮之上,森马的 Serverless 实践之旅 立即下载
    极氪大数据 Serverless 应用实践 立即下载