本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Graviton 執行個體和容器
概觀
AWS Graviton 執行個體採用 的 ARM 處理器 AWS ,旨在為在 Amazon Elastic Compute Cloud (Amazon EC2) 中執行的雲端工作負載提供最佳價格效能,包括在其中執行的容器 AWS。目前有三代的 Graviton 可用於 Amazon EC2。本指南著重於搭配 .NET 應用程式使用 Graviton 2 和 3,因為當您使用最新版本的 Graviton 時,可大幅節省成本。請記住,Graviton 執行個體只會執行 Linux 作業系統。因此,Graviton 執行個體是 Linux 上執行的 .NET 的強大產品,但不是 Windows 作業系統或舊版 .NET Framework 應用程式的選項。
與可比較的 EC2 執行個體相比,Graviton 3 的效率高出 60%,效能最高提升 40%。本指南著重於使用 Graviton 的成本效益,但請務必注意,Graviton 提供效能改善和環境永續性改善的額外優勢。
成本影響
當您切換到 Graviton 時,最多可節省 45%。將任何舊版 .NET Framework 應用程式重構為現代 .NET 版本後,即可解鎖使用 Graviton 執行個體的功能。移至 Graviton 是 .NET 開發人員的有效成本最佳化技術。
下表中的範例顯示遷移至 Graviton 執行個體可以實現效能改善的可能性。

如需用於在上圖中建立結果的基準方法的完整明細和說明,請參閱 AWS 運算部落格中的使用 AWS Graviton2:基準為 .NET 5 提供支援
提升效率的其中一個原因是 x86 和 Graviton 之間 vCPU 意義的差異。在 x86 架構中,vCPU 是超執行緒實現的邏輯核心。在 Graviton 中,vCPU 等於實體核心,允許 vCPU 完全投入工作負載。
與相當的 x86/x64 執行個體相比,Graviton2 的結果是價格效能提升 40%。Graviton3 透過 Graviton2 提供下列項目:
-
效能提升,效能提升 25%
-
浮點效能高達兩倍
-
密碼編譯工作負載效能提升高達兩倍
-
機器學習效能提升高達三倍
此外,Graviton3 是雲端中第一個採用 DDR5 記憶體的執行個體。
下表顯示 Graviton 型執行個體與同等 x86 型執行個體之間節省成本的差異。
此表顯示 Graviton 節省 19.20%。
執行個體類型 | 架構 | vCPU | 記憶體 (GB) | 每小時成本 (隨需) |
---|---|---|---|---|
t4g.xlarge | ARM | 4 | 16 | 0.1344 美元 |
t3.xlarge | x86 | 4 | 16 | 0.1664 美元 |
此表顯示 Graviton 節省 14.99%。
執行個體類型 | 架構 | vCPU | 記憶體 (GB) | 每小時成本 (隨需) |
---|---|---|---|---|
c7g.4xlarge | ARM | 16 | 32 | 0.5781 美元 |
c6i.4xlarge | x86 | 16 | 32 | 0.6800 美元 |
在考慮 Graviton 時,請務必測試應用程式的效能描述檔。Graviton 無法取代實心軟體開發實務。您可以使用測試來驗證您是否充分利用基礎運算資源。
成本最佳化建議
有多種方式可以利用 Graviton 處理器/執行個體。本節將逐步解說從使用 x86 架構機器移至 Graviton (ARM) 執行個體所需的變更。
在 Lambda 中變更執行時間設定
建議您在 中切換執行期設定 AWS Lambda。如需詳細資訊,請參閱 Lambda 文件中的修改執行期環境。由於 .NET 是編譯語言,因此您必須遵循建置程序才能讓此運作。如需如何執行此操作的範例,請參閱 GitHub 中 Graviton 上的 .NET
容器
針對容器化工作負載,建立多架構容器映像。您可以在 Docker build 命令中指定多個架構來執行此操作。例如:
docker buildx build -t "myImageName:latest" --platform linux/amd64,linux/arm64 --push .
您也可以使用 等工具 AWS Cloud Development Kit (AWS CDK) 來協助協調建置
Amazon EC2
若要從 x86/x64 遷移至 ARM,請在編譯步驟中將 ARM 架構設為目標。在視覺化工作室中,您可以建立 ARM64 CPU。如需說明,請參閱 Microsoft 文件中的如何將專案設定為目標 Arm64 和其他平台
如果您使用的是 .NET CLI,則在 ARM 機器上執行建置會產生與 Graviton 相容的建置。若要觀看示範,請觀看 YouTube 上的使用 Arm64 on AWS Graviton2 加速 .NET 6 效能