gpt4 book ai didi

google-cloud-run - Google Cloud Run 与本地机器相比非常慢

转载 作者:行者123 更新时间:2023-12-03 15:08:59 29 4
gpt4 key购买 nike

我们有一个小脚本,可以抓取网页(约 17 个条目),并将它们写入 Firestore 集合。为此,我们在 Google Cloud Run 上部署了一项服务。

这段代码的执行需要大约 5 秒 when tested locally使用 Docker 容器镜像。
部署到 Cloud Run 的同一镜像需要 1 多分钟。

即使是“删除集合中的所有文档”这样的简单命令,在本地需要 2-3 秒,而在 Cloud Run 上部署时需要 10 多秒。

我们知道冷启动,所以我们在第三次、第四次和第五次运行中测试了 Cloud Run 的性能,但它仍然很慢。

我们还尝试了 CPU 数、实例数、并发数、内存数,使用两端的默认值和极值,但 Cloud Run 的性能很慢。

这是预期的吗? Cloud Run 的单个实例真的这么弱吗?我们可以做些什么来让它更快吗?

这种缓慢的问题在于,如果我们为大量条目运行我们的代码,Cloud Run 最终会超时(更不用说每秒 Cloud Run 的成本)

最佳答案

在我们对此进行了大量实验时,发布了我自己的问题的答案,并在我们自己的实现中发现了问题。

在我们的例子中,性能超慢的原因是没有 Promise 或回调的异步调用。

我们最初错过的是这一部分:Avoiding background activities

我们的代码没有等待异步操作结束,并立即响应请求。异步操作然后转移到后台事件并花费很长时间才能完成。

回应发表的评论或可能出现的类似问题:
1.我们没有尝试通过设置具有相同配置的虚拟机来尝试本地实验,因为我们更快地找到了原因。

  • 我们还没有在文件系统上写任何东西(还),操作是简单的调用。但这是个好问题,我们在存储/写入数据时会牢记这一点
  • 关于google-cloud-run - Google Cloud Run 与本地机器相比非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61154349/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com