我读到here端点启动应该是透明的,我认为这意味着冷启动时间不应该与常规执行时间不同。现在还是这样吗?我们在所有端点上的冷启动时间都变得非常慢和不可用-大约16秒。
冷启动:Function execution took 1002 ms, finished with status code: 304之后的Function execution took 16172 ms, finished with status code: 200
这是意料之中的行为吗?是什么导致了这种行为?
发布于 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中设置用户配置文件的函数。
正如你可以想象的,没有多少用户会坐在那里等待帐户设置超过几秒钟。我也不能让这种情况在后台发生,因为它是应用程序进程的一部分,需要设置配置文件来存储输入数据。
我的解决方案是将" ping“函数添加到我所有的API中,并创建一个类似cron的调度任务,使用应用程序引擎每分钟ping我的每个函数。
确保ping函数执行某些操作,比如访问firestore文档,或者设置新的用户帐户,而不仅仅是响应http请求。
有关应用程序引擎调度,请参阅此教程:https://cloud.google.com/appengine/docs/flexible/nodejs/scheduling-jobs-with-cron-yaml
发布于 2018-01-16 22:44:09
好吧,我想这是关于云函数的资源使用,我也在那里。当你的函数空闲时,Cloud functions也会释放它的资源,第一次调用它会重新分配那些资源,第二次调用时你就很好了。我不能说它是好是坏,但事实就是这样。
https://stackoverflow.com/questions/48280187
复制相似问题