

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 优化容器和 AMI
<a name="bestpractice3"></a>

容器大小和结构对于您运行的第一组作业非常重要。如果容器大于 4GB，则尤其如此。容器映像是分层构建的。Docker 使用三个并发线程并行检索层。您可以使用 `max-concurrent-downloads` 参数增加并发线程数。有关更多信息，请参阅 [Docker 文档](https://docs.docker.com/engine/reference/commandline/dockerd/)。

尽管您可以使用更大的容器，但我们建议您优化容器的结构和大小，以缩短启动时间。
+ **较小的容器可以更快地获取** – 较小的容器可以缩短应用程序的启动时间。要减小容器大小，请将不经常更新的库或文件卸载到亚马逊机器映像（AMI）。您也可以使用绑定装载，为容器授予访问权限。有关更多信息，请参阅[绑定装载](https://docs.amazonaws.cn/AmazonECS/latest/developerguide/bind-mounts.html)。
+ **创建大小均匀的层并分解大型层** – 每个层都由一个线程检索。因此，较大的层可能会显著影响您的作业启动时间。我们建议最大层大小为 2GB，以便在更大的容器大小和更快的启动时间之间进行权衡。您可以运行 `docker history your_image_id` 命令来检查您的容器映像结构和层大小。有关更多信息，请参阅 [Docker 文档](https://docs.docker.com/engine/reference/commandline/history/)。
+ **使用 Amazon Elastic Container Registry 作为您的容器存储库** – 当您并行运行数千个作业时，自我管理的存储库可能会失败或限制吞吐量。Amazon ECR 可以大规模运行，可以处理多达一百多万个 vCPU 的工作负载。  
![\[Diagram showing layers of machine images and containers with data types and change frequencies.\]](http://docs.amazonaws.cn/batch/latest/userguide/images/batch-best-practices-f1.png)