PERF02-BP02 了解可用的運算組態選項
每個運算解決方案都有選項和組態,可供您支援工作負載特性。了解各種選項如何與您的工作負載互補,以及哪種組態選項最適合您的應用程式。這些選項的範例包括執行個體系列、大小、功能 (GPU、I/O)、爆量、逾時、函數大小、容器執行個體,以及並行。
預期成果: 包括 CPU、記憶體、網路輸送量、GPU、IOPS、流量模式和資料存取模式的工作負載特性會加以記錄,並用來設定運算解決方案以符合工作負載特性。其中每一個指標以及工作負載特有的自訂指標都會加以記錄、監控,然後用來優化運算組態以最好地符合要求。
常用的反模式:
-
使用正用於內部部署的同一運算解決方案。
-
未審查運算選項或執行個體系統以符合工作負載特性。
-
使運算變得更大以確保爆量功能。
-
您針對相同的工作負載使用多個運算管理平台。
建立此最佳實務的優勢: 熟悉 AWS 運算方案,才能為每個工作負載確定合適的解決方案。為工作負載選取運算方案之後,您可以快速試驗這些運算方案,以判斷其符合工作負載需求的程度。為符合工作負載特性而優化的運算解決方案將提高效能、降低成本並提升可靠性。
若未建立此最佳實務,暴露的風險等級: 高
實作指引
如果您的工作負載已使用相同的運算選項超過四週,並且您預計特性未來仍將保持不變,您可以使用 AWS Compute Optimizer
實作步驟:
-
您是否正在具有 EC2 啟動類型的 EC2 執行個體或容器上執行?
-
您的工作負載是否可以使用 GPU 提升效能?
-
加速運算
執行個體是 GPU 型執行個體,可為機器學習培訓、推斷和高效能運算提供最高效能。
-
-
您的工作負載是否執行機器學習推斷應用程式?
-
AWS Inferentia (Inf1)
— Inf1 執行個體專為支援機器學習推斷應用程式所建置。客戶可使用 Inf1,執行大型規模的機器學習推斷應用程式,例如影像辨識、語音辨識、自然語言處理、個人化以及詐騙偵測。您可以在 TensorFlow、PyTorch 或 MXNet 等其中一個常用機器學習架構中建立模型,並使用 GPU 執行個體來訓練模型。將機器學習模型訓練到符合需求之後,您可以使用 AWS Neuron 在 Inf1 執行個體上部署模型,AWS Neuron 是一種專業的軟體開發套件 (SDK),其中包含編譯器、執行時間和分析工具,可將 Inferentia 晶片的機器學習推斷效能優化。
-
-
您的工作負載是否與低階硬體整合以改進效能?
-
可現場程式化閘道陣列 (FPGA)
— 使用 FPGA,您可以為要求最高的工作負載自訂硬體加速執行,進而優化您的工作負載。您可以利用支援的通用程式設計語言 (例如 C 或 Go),或以硬體為導向的語言 (例如 Verilog 或 VHDL) 來定義演算法。
-
-
您是否有至少四週的指標,並且可以預測您的流量模式和指標在未來仍大致相同?
-
使用 Compute Optimizer
取得哪個運算組態最符合運算特性的機器學習建議。
-
-
您的工作負載效能是否受到 CPU 指標限制?
-
運算優化
執行個體非常適合於需要高效處理器的工作負載。
-
-
您的工作負載效能是否受到記憶體指標限制?
-
記憶體優化
執行個體會提供大量記憶體,以支援記憶體密集工作負載。
-
-
您的工作負載效能是否受到 IOPS 限制?
-
儲存優化
執行個體專為需要對本機儲存進行高循序讀寫存取 (IOPS) 的工作負載而設計。
-
-
您的工作負載特性是否代表所有指標之間的平衡需求?
-
您的運算執行個體是否正在 Linux 上執行,並受到網路介面卡上的網路輸送量限制?
-
檢閱 效能問題 5、最佳實務 2:評估可用的聯網功能 來找出正確的執行個體類型和系統,以符合您的効能需求。
-
-
在您承諾使用一年的特定可用區域中,您的工作負載是否需要一致且可預測的執行個體?
-
預留執行個體
確認特定可用區域中的容量保留。預留執行個體非常適合於特定可用區域中所需的運算能力。
-
-
您的工作負載是否具有需要專用硬體的授權?
-
專用主機
支援現有的軟體授權,並協助您滿足合規需求。
-
-
您的運算解決方案是否會爆量且需要同步處理?
-
隨需執行個體
可讓您按小時或秒使用運算容量,無需長期承諾。這些執行個體適合於超過效能基準需求的爆量。
-
-
您的運算解決方案為無狀態、容錯和非同步嗎?
-
Spot 執行個體
可讓您針對無狀態、容錯工作負載利用未用的執行個體容量。
-
-
-
您是否正在將容器執行於 Fargate
? -
您的任務效能是否受到記憶體或 CPU 限制?
-
使用 任務大小 調整您的記憶體或 CPU。
-
-
您的效能是否正受到流量模式爆量限制?
-
使用 Auto Scaling 組態來比對您的流量模式。
-
-
-
您的運算解決方案是否位於 Lambda?
-
您是否有至少四週的指標,並且可以預測您的流量模式和指標在未來仍大致相同?
-
使用 Compute Optimizer
取得哪個運算組態最符合運算特性的機器學習建議。
-
-
您沒有足夠的指標來使用 AWS Compute Optimizer 嗎?
-
如果您沒有可供 Compute Optimizer 使用的指標,請使用 AWS Lambda Power Tuning 協助選取最佳組態。
-
-
您的函數效能是否受到記憶體或 CPU 限制?
-
設定您的 Lambda 記憶體 來符合您的效能需求指標。
-
-
您的函數在執行時是否逾時?
-
變更 逾時設定
-
-
您的函數效能是否受到活動和並行爆量限制?
-
設定 並行設定 來符合您的效能要求。
-
-
您的函數是否以非同步方式執行,並在重試時失敗?
-
在 非同步組態 設定中設定最長事件保留期限和最多重試次數限制。
-
-
實作計劃的工作量:
若要建立此最佳實務,您必須注意目前運算特性和指標。收集這些指標、建立基準,然後使用這些指標來識別理想的運算選項為 低 至 中等 工作量。這最好由負載測試和試驗進行驗證。
資源
相關文件:
相關影片:
相關範例: