AWS Fargate 启动时间
AWS Fargate startup time
目前我正在研究如何在 AWS 上编排我们的码头化微服务。
ECS 的 Fargate 选项看起来很有希望消除管理 EC2 实例的需要。
尽管在 Fargate 中启动 "task" 所需的时间出奇地长,即使对于简单的单容器设置也是如此。我们的 Docker 应用图片通常需要 60 秒到 90 秒。我听说这可能需要更多时间,比如几分钟左右。
所以问题是:虽然 Docker 容器通常可以在几秒钟内启动,但在 Fargate 案例中,这种开销的确切原因是什么?
P.S。相关问题搜索 returns 此类选项:
- Docker 图片load/extract 时间
- 负载均衡器的影响 -
注册、健康检查宽限期等
但即使在没有部署负载均衡器的最简单配置中,假设 Docker 图像未缓存在 ECS 中,使用单个 Docker 启动任务仍然至少慢 2 倍Fargate 中的图像(~ 60 秒)比在裸 EC2 实例上启动相同的 Docker 图像(25 秒)
是的,需要更长的时间,但我们不能概括 Fargate 的启动时间。您可以减少调整某些设置的时间。
vCPU 直接影响启动时间,因此您必须记住,在裸 EC2 实例中,您可以使用完整的 vCPU,而在 fargate 的情况下,您可能会分配它的一部分。
由于 AWS 为您管理服务器,他们几乎不需要做任何事情。将 VM 分配到您的 VPC 以 docker 映像 download/extract、分配 IP 和 运行 容器可能需要这么多时间。
这是一个不错的博客,您可以在下一篇文章的结尾找到一些好的做法。
目前我正在研究如何在 AWS 上编排我们的码头化微服务。 ECS 的 Fargate 选项看起来很有希望消除管理 EC2 实例的需要。
尽管在 Fargate 中启动 "task" 所需的时间出奇地长,即使对于简单的单容器设置也是如此。我们的 Docker 应用图片通常需要 60 秒到 90 秒。我听说这可能需要更多时间,比如几分钟左右。
所以问题是:虽然 Docker 容器通常可以在几秒钟内启动,但在 Fargate 案例中,这种开销的确切原因是什么?
P.S。相关问题搜索 returns 此类选项:
- Docker 图片load/extract 时间
- 负载均衡器的影响 - 注册、健康检查宽限期等
但即使在没有部署负载均衡器的最简单配置中,假设 Docker 图像未缓存在 ECS 中,使用单个 Docker 启动任务仍然至少慢 2 倍Fargate 中的图像(~ 60 秒)比在裸 EC2 实例上启动相同的 Docker 图像(25 秒)
是的,需要更长的时间,但我们不能概括 Fargate 的启动时间。您可以减少调整某些设置的时间。
vCPU 直接影响启动时间,因此您必须记住,在裸 EC2 实例中,您可以使用完整的 vCPU,而在 fargate 的情况下,您可能会分配它的一部分。
由于 AWS 为您管理服务器,他们几乎不需要做任何事情。将 VM 分配到您的 VPC 以 docker 映像 download/extract、分配 IP 和 运行 容器可能需要这么多时间。
这是一个不错的博客,您可以在下一篇文章的结尾找到一些好的做法。