我读here端点旋转应该是透明的,我认为冷启动时间不应该与常规执行时间不同。这仍然是这样吗?在所有端点上,我们的冷启动时间非常缓慢且无法使用 - 大约16秒。
冷启动:
Function execution took 16172 ms, finished with status code: 200
后:Function execution took 1002 ms, finished with status code: 304
这是预期的行为吗?可能是什么原因造成的?
答案 0 :(得分:4)
更新:冷启动时间似乎不再是节点8的问题,至少对我而言。我将在下面留下我的答案给任何对通过App Engine通过cron任务保持其功能温暖的人感到好奇。但是,还有一种新的cron方法可以让它们更容易保暖。 See the firebase blog for more details about cron and Firebase。
我的冷启动时间非常荒谬,浏览器将等待请求超时。 (就好像它正在等待Firestore API完成)。
示例强> 用于创建新用户帐户的函数( auth.user()。onCreate trigger ),然后在firestore中设置用户配置文件。
可以想象,没有多少用户可以等待超过几秒钟来设置帐户。我不能让这种情况在后台发生,因为它是应用程序进程的一部分,需要配置文件设置来存储输入数据。
我的解决方案是为我的所有API添加“ping”功能,并创建一个类似cron的调度程序任务,每分钟使用app引擎ping我的每个函数。
确保ping功能可以执行某些操作,例如访问firestore文档或设置新的用户帐户,而不仅仅是响应http请求。
请参阅本教程了解应用引擎排程:https://cloud.google.com/appengine/docs/flexible/nodejs/scheduling-jobs-with-cron-yaml
答案 1 :(得分:0)
嗯,这是关于云功能的资源使用我想,我也在那里。当您的功能闲置时,云功能也会释放其资源,首先调用它重新分配这些资源,然后在第二次调用时您就可以了。我不能说这是好事,但事实就是如此。