首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Firebase函数降低冷启动时间

Firebase函数降低冷启动时间
EN

Stack Overflow用户
提问于 2018-01-16 19:27:17
回答 2查看 5.6K关注 0票数 8

我读到here端点启动应该是透明的,我认为这意味着冷启动时间不应该与常规执行时间不同。现在还是这样吗?我们在所有端点上的冷启动时间都变得非常慢和不可用-大约16秒。

冷启动:Function execution took 1002 ms, finished with status code: 304之后的Function execution took 16172 ms, finished with status code: 200

这是意料之中的行为吗?是什么导致了这种行为?

EN

回答 2

Stack Overflow用户

发布于 2018-03-06 08:03:00

更新:冷启动时间似乎不再是节点8的问题,至少对我来说是这样。我将在下面为任何对通过App Engine使用cron任务保持函数温暖的个人留下我的答案。然而,也有一种新的cron方法可以让它们更容易保暖。See the firebase blog for more details about cron and Firebase

我的冷启动时间非常可笑,以至于浏览器在等待请求时会超时。(例如,如果它正在等待Firestore API完成)。

示例创建新用户帐户(auth.user().onCreate trigger),然后在firestore中设置用户配置文件的函数。

  • First Start after Deploy CLI :总是在30到60秒之间,经常在第一次尝试时出现“连接错误”(这是在Firebase CLI显示"Deploy Complete!"
  • Cold Start:10 - 20 seconds
  • When :所有这一切在大约400ms内完成“之后的几秒钟之后。

正如你可以想象的,没有多少用户会坐在那里等待帐户设置超过几秒钟。我也不能让这种情况在后台发生,因为它是应用程序进程的一部分,需要设置配置文件来存储输入数据。

我的解决方案是将" ping“函数添加到我所有的API中,并创建一个类似cron的调度任务,使用应用程序引擎每分钟ping我的每个函数。

确保ping函数执行某些操作,比如访问firestore文档,或者设置新的用户帐户,而不仅仅是响应http请求。

有关应用程序引擎调度,请参阅此教程:https://cloud.google.com/appengine/docs/flexible/nodejs/scheduling-jobs-with-cron-yaml

票数 6
EN

Stack Overflow用户

发布于 2018-01-16 22:44:09

好吧,我想这是关于云函数的资源使用,我也在那里。当你的函数空闲时,Cloud functions也会释放它的资源,第一次调用它会重新分配那些资源,第二次调用时你就很好了。我不能说它是好是坏,但事实就是这样。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48280187

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档