本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
优化容器和 AMI
容器大小和结构对于您运行的第一组作业非常重要。如果容器大于 4GB,则尤其如此。容器映像是分层构建的。Docker 使用三个并发线程并行检索层。您可以使用 max-concurrent-downloads
参数增加并发线程数。有关更多信息,请参阅 Docker 文档
尽管您可以使用更大的容器,但我们建议您优化容器的结构和大小,以缩短启动时间。
-
较小的容器可以更快地获取 – 较小的容器可以缩短应用程序的启动时间。要减小容器大小,请将不经常更新的库或文件卸载到亚马逊机器映像(AMI)。您也可以使用绑定装载,为容器授予访问权限。有关更多信息,请参阅绑定装载。
-
创建大小均匀的层并分解大型层 – 每个层都由一个线程检索。因此,较大的层可能会显著影响您的作业启动时间。我们建议最大层大小为 2GB,以便在更大的容器大小和更快的启动时间之间进行权衡。您可以运行
docker history your_image_id
命令来检查您的容器映像结构和层大小。有关更多信息,请参阅 Docker 文档。 -
使用 Amazon Elastic Container Registry 作为您的容器存储库 – 当您并行运行数千个作业时,自我管理的存储库可能会失败或限制吞吐量。Amazon ECR 可以大规模运行,可以处理多达一百多万个 vCPU 的工作负载。