

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# Amazon ECS 任務大小的最佳實務
<a name="capacity-tasksize"></a>

 容器與任務大小對於擴展與容量規劃都至關重要。在 Amazon ECS 中，CPU 與記憶體是用於容量的兩個資源指標。CPU 以完整 vCPU 的 1/1024 為單位進行計量 (其中 1024 個單位等於 1 個完整 vCPU)。記憶體以 MiB 為單位進行計量。在任務定義中，您可以設定資源保留量與限制。

設定保留量時，您要設定任務所需的資源數量下限。任務至少會收到請求的資源量。應用程式實際使用的 CPU 或記憶體，可能會超出設定的保留量。但這受您同時設定的所有限制的約束。使用超過保留數量稱為爆量。在 Amazon ECS 中，保留量會得到保證。例如，若使用 Amazon EC2 執行個體提供容量，當無法滿足保留需求時，Amazon ECS 不會將該任務置放於該執行個體上。

限制是容器或任務所能使用的 CPU 單位或記憶體的最大數量。任何嘗試使用超過此限制之 CPU 的行為，都會導致限流。任何嘗試使用更多記憶體的行為，都會導致容器停止。

精準選擇這些值可能具有挑戰性。這是因為最適合應用程式的值，在很大程度上取決於應用程式的資源需求。對應用程式進行負載測試，是成功規劃資源需求以及更清楚地了解應用程式需求的關鍵。

## 無狀態應用程式
<a name="capacity-tasksize-stateless"></a>

對於可水平擴展的無狀態應用程式 (如負載平衡器後端的應用程式)，建議先決定應用程式在處理請求時所耗用的記憶體量。若要做到這一點，您可以使用 `ps` 或 `top` 等傳統工具，也可以使用 CloudWatch Container Insights 這類監控解決方案。

在決定 CPU 保留量時，需考量如何擴展應用程式來滿足業務需求。您可以使用較小的 CPU 保留量，例如 256 個 CPU 單位 (或 1/4 vCPU)，以將成本降至最低的精細方式橫向擴充。但它們的擴展速度可能不足以應對需求的大幅激增。您可以使用較大的 CPU 保留量，更快速地進行縮減與橫向擴充，從而更快匹配需求激增。但較大的 CPU 保留量會帶來更高的成本。

## 其他應用程式
<a name="capacity-tasksize-other"></a>

對於無法水平擴展的應用程式 (例如單例工作線程或資料庫伺服器)，可用容量與成本是最重要的考量因素。您應根據負載測試的結果選擇記憶體與 CPU 的配置量，確保能應對流量並達成服務水準目標。Amazon ECS 可確保應用程式置放在具有足夠容量的主機上。