Hi拥有100多项云功能和完整的应用程序、控制面板和营销网站。在测试时,我的客户说这个网站很慢。这是因为所有这些功能的冷启动时间。
我真的不想让cron工作每分钟都能访问每个函数,因为有很多,而且正如其他帖子所暗示的那样,它们并不总是有效的。
昨晚我有个主意。我知道这有点粗糙,但我想知道如果有一个单独的云函数端点,用函数名切换参数,然后调用其他导入的本地函数,会产生什么后果(除了无法释放单个函数之外(。这意味着,对于一些用户来说,单个功能第一次会很慢,但随后其他所有功能都会很快,因为该功能已经很热了。
不幸的是,我需要做上面的一件事来提高性能,直到firebase发布像aws这样的功能,允许付费来保持功能的热度。
不可能完全消除冷启动时间。它们将永远存在于无服务器环境中——这是事实。你能做的最好的事情就是组织你的代码,尽量减少冷启动时间。如果没有看到您所有的代码和特定的基准测试,我们就没有具体的建议。
您唯一可以控制的是确保每个函数只在全局范围内加载最少量的代码以正确运行因此,如果您的函数都在全局范围内加载了一些未使用的代码,那么所有这些函数都将为加载和运行它们不使用的代码付出不必要的冷启动成本。
有一些资源可以帮助你做到这一点。观看此视频了解更多详细信息。