Kit*_* Ho 7 linux amazon-ec2 amazon-web-services amazon-ecs devops
我将把我的webapp从Amazon EC2迁移到ECS.(docker)但是在ECS中,我们需要为进程分配内存和vCPU.
但我不确定应该为该任务分配多少vCPU.(以及记忆)
如何衡量流程需要多少vCPU和内存?
谢谢
当涉及到任务定义时,有两种指定内存的方法。内存设置是硬限制。如果容器内存使用量达到此数量,容器将被终止。另一方面,如果您指定了 memoryReservation,则将为该任务保留那么多内存,但它可以使用更多内存,最多可达计算机的总量。查看任务定义文档以获取更多详细信息。
这里一个重要的考虑因素是只需要memory和之一。memoryReservation如果两者都使用,memoryReservation则应小于memory。如果您只想指定其中之一,我建议您使用memoryReservation,因为它将允许您的任务最多使用计算机上的总内存。如果两者都使用,则将memoryReservation用于计算任务消耗的内存量。
至于cpu,该值不是必需的,如果未指定,则实例上的所有任务都将获得系统上可用 CPU 的相等部分。如果实例上只有一个任务,则默认可以使用实例的整个CPU。
更具体地说,1vCPU/1GB Mem EC2 等于 ECS 上的 1024。
可以肯定地说,您的服务将使用与 EC2 上大致相同的 CPU/内存。您可以登录您的 EC2 实例并使用各种工具(htop、ps...)进行检查,或者在CloudWatch上进行检查。
示例:如果您当前的应用程序在 t2.medium(具有 2vCPU 和 4GB mem)上运行并且仅使用一半的 cpu/内存,那么您的任务将使用 1024 CPU 和 2048 内存。
| 归档时间: |
|
| 查看次数: |
344 次 |
| 最近记录: |