首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Google函数执行时间及限制

Google函数执行时间及限制
EN

Stack Overflow用户
提问于 2019-08-15 09:01:07
回答 1查看 3.2K关注 0票数 2

我有一个非常简单的像素服务器,它检索客户端请求头/params/body来将消息发布到发布/子主题&它是用云函数编写的。在理想的情况下,函数的执行时间不会超过5-10ms,最好是小于5ms。

但是,在日志中,我看到一些函数调用占用超过500 in。

我试图理解云功能冷启动和自动缩放与成本相关的行为,因为如果10%的调用由于冷启动/自动标度而慢100倍,我们最终将多支付50%的费用。

社区的人能否指出克服这种情况的最佳做法,以节省成本&提高冷启动带来的性能,因为我们需要处理超过1亿的请求?此外,由于我们调用的数量(100M+),云功能/发布-订阅是否带有任何调用/扩展限制,我们需要开始考虑或考虑非服务器解决方案(wink)?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-15 10:19:10

来自最佳做法的几个提示可能帮助您减少性能问题:

  • 删除未使用的依赖项 如果您的函数导入模块,那么这些模块的加载时间会在冷启动期间增加调用延迟。通过正确加载依赖项而不加载函数不使用的依赖项,可以减少此延迟以及部署函数所需的时间。
  • 使用全局变量来重用将来调用的对象()。 对于将来的调用,不能保证云函数的状态将被保留。然而,云函数通常回收以前调用的执行环境。如果在全局范围中声明变量,则可以在以后的调用中重用它的值,而无需重新计算。
  • 延迟初始化全局变量 如果在全局范围内初始化变量,则初始化代码将始终通过冷启动调用执行,从而增加函数的延迟。如果某些对象不是在所有代码路径中使用,请考虑根据需要延迟初始化它们。

另外,关于对Google的访问,在从PUB/SUB获取消息时,最好在全局范围内创建Pub/Sub客户端对象。在公共文献中有更多关于这方面的信息和示例代码。

云功能还需要一段时间来扩展,因此,如果请求数量太大,这也可能导致您所经历的高延迟。一个解决方法可能是创建两个订阅了Pub/Sub主题的云函数,或者为这两个函数创建两个分开的主题,然后您将在这两个函数中划分工作负载。

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

https://stackoverflow.com/questions/57507263

复制
相关文章

相似问题

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