Amazon AWS ECS任务延迟

Avi*_*Noy 5 amazon-ec2 amazon-web-services amazon-ecs docker

我用于在AWS ECS上运行任务以执行批处理任务。

有时,任务处于挂起状态并进入运行状态需要10秒钟,有时在挂起状态开始运行之间可能需要5分钟才能开始运行。

为了防止5分钟的延迟问题,我该怎么办?是否有一些设置或某种“热身”程序?

Luk*_*son 1

延迟是由于您的任务在尚未下载基础映像的容器实例上启动。您可以采取一些措施来帮助解决此问题:

  1. 通过同时启动n个任务来预加载实例,其中n是集群中实例的数量。这会将您的图像下载到每个容器实例上,这将大大缩短后续任务的启动时间。
  2. 通过升级到具有更高吞吐量的更大实例,提高实例的网络吞吐量。您可以在以下位置查看每种实例类型的细分:您可以在“Amazon EC2 实例配置”页面。您需要权衡增加的成本和延迟。
  3. 减小图像尺寸。

  • 我要添加的另一件事是使用基础图像。1 GB 映像很可能由 500 MB 的基本操作系统和 250 MB 的系统库(所有版本的容器都通用)组成。您可以将它们预烘焙为在所有容器中重复使用的基础映像,这样每次部署任务时,您只需提取大约 250 MB 的自定义代码(该代码在该版本中实际上有所不同)。这可以大大加快任务启动速度。 (3认同)