首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何加快在AWS Fargate上的部署?

如何加快在AWS Fargate上的部署?
EN

Stack Overflow用户
提问于 2018-07-31 16:41:01
回答 3查看 10.9K关注 0票数 20

在从EC2集群实例迁移到After之后,我意识到部署花费的时间要长得多。在他们花1-2分钟之前,现在一些遗憾的人最多需要5分钟.这个职位声称他们在法尔盖特的部署甚至需要10分钟。

有谁知道加快他们速度的方法吗?我找不到关于这个主题的任何文档。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-08-01 07:52:40

通过进一步搜索,我找到了这个Reddit线程。AWS的一位员工写道:

关于提供和启动容器的时间,使用Fargate的时间肯定更长。我们将来可能会减少供应状态的长度,但是Fargate在自己管理的主机上所做的事情要比ECS做的多。当您自己管理主机时,它们已经启动并运行,甚至可能已经在本地下载和缓存了您的坞映像,因此ECS能够非常快地启动容器。法尔盖特的情况并非如此。

所以缩小图像会有一点帮助。但总的来说,我想我将不得不接受它,并希望在AWS方面进行优化。

票数 21
EN

Stack Overflow用户

发布于 2020-08-14 15:08:34

下面是我在研究使用ECS Fargate提高部署时间的选项时发现的任务和可能的改进:

Fargate部署概述

下面是导致部署持续时间的幕后事件的详细说明:

  • 提供Fargate worker实例
  • 规定/附加ENI
  • 下载Docker映像
    • 在这里,您有改进的机会:
      • 缩小码头形象的大小
      • 网络吞吐量是基于分配给Fargate任务的CPU --如果您分配了更多的CPU,那么您就可以获得更多的网络,并且映像将下载得更快

  • 应用启动时间
    • 如果应用程序需要健康检查宽限期(同样受CPU分配的影响),则会成为一个因素。

如果您的任务与负载均衡器相关联,则部署还需要通过健康检查,您需要考虑:

  • 负载均衡器注销延迟
  • 通过健康检查:(健康检查间隔*阈值)

如何更快地部署Fargate任务更新

  • 过度分配CPU
  • 减少注销登记的延迟
  • 将健康检查阈值设置为2,间隔设置为5秒
    • 如果你的应用程序需要的话,别忘了考虑一个健康检查宽限期。

我的结果

在测试期间,我能够部署我的应用程序,它通常需要8分钟w/1024 CPU (1 4vCPU)在4分钟w/4096 CPU (4vCPU)以下。

免责声明

很可能,您的任务通常需要的CPU要少得多,而且您不希望总是为过多分配CPU而付费。因此,使用过度分配的资源运行您的部署,然后在最初的CPU分配之后立即运行另一个部署。

可能不是您希望在每个部署中使用的解决方案,但可能是修补程序部署的解决方案。

附加阅读

强烈推荐阅读2022年在AWS上缩放容器

票数 14
EN

Stack Overflow用户

发布于 2018-08-01 01:08:51

在我的经验中,有两个原因让它们变慢:

  1. awsvpc网络模式将ENI附加到任务中。当它必须对Lambda这样做时,如果Lambda是在VPC中运行的,那么它会显着地增加初始旋转时间。
  2. Docker映像大小也会影响启动时间,因为启动任务通常需要将映像下载到任何隐藏主机。我用一个200 and的小容器和一个2.5GB的容器做了一些基准测试。前者的启动速度确实更快。

您不能对awsvpc做很多事情,因为Fargate需要它。缩小这一形象将是你的下一个最大影响。

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

https://stackoverflow.com/questions/51618252

复制
相关文章

相似问题

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