如何减少Node App在Google App Engine上的部署时间

时间:2018-07-26 07:43:51

标签: node.js google-app-engine

现在时间大约是10分钟,但是我的应用在npm安装上使用了2分钟,每次部署时应用引擎都会执行该操作,然后在大约5秒钟内运行。为什么要花这么长时间,还有什么办法可以降低它呢?

我听说过其他地方,这是由于路线变化所致,而docker使事情变慢了。但是我相信像Google这样的公司可以设法将其至少降低到当前速度的1/3。

还有一些较旧的问题,但我想有一个最新的答案

Google cloud deploy so slow

why does google appengine deployment take several minutes to update service

https://groups.google.com/forum/#!topic/google-appengine/hZMEkmmObDU

1 个答案:

答案 0 :(得分:0)

目前,App Engine Flexible部署确实确实很慢,但是正如您提供的链接所述(这仍然成立),大部分部署时间是由您无法执行的操作(负载均衡器和网络配置等)。您可以加快速度的方法是:

  • 限制要部署的应用的大小
  • 限制Dockerfile中必要的构建的复杂性(如果存在)
  • 确保在部署过程中可以快速可靠地连接互联网

现在,有一个选项可以绕开开发过程中的大多数新设置。您可以在部署过程中指定一个已经存在的版本名称作为参数,还可以指定--no-promote标志:

gcloud app deploy --version <existing-version-number> --no-promote

我自己尝试过,它极大地减少了部署时间,对于Hello World应用程序,部署时间减少到大约1m30。它执行就地替换,而不是新替换。当然,大多数节省的时间是由于跳过了开销,因此您必须手动将流量定向到该新版本。另外,版本清晰性显然会受到影响,这就是为什么我不建议将其用于生产部署的原因。