本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
GAMEPERF05-BP01 跨多種運算類型的遊戲效能基準
對於遊戲伺服器工作負載,沒有一種方法可以識別託管遊戲伺服器的最佳運算解決方案。對遊戲伺服器進行基準測試的常見策略是從運算最佳化 EC2 'c' 執行個體開始,因為此執行個體系列可為運算密集的工作負載提供高效能。或者,如果您的遊戲需要大量記憶體來實作特定功能,則記憶體最佳化執行個體可能最適合。
未建立此最佳實務時的曝險等級:高
實作指引
如果您的工作負載使用大量的網路資源,請考慮實作網路最佳化的執行個體,通常在執行個體名稱中使用 'n' 表示,避免爆量執行個體類型 't',因為在額度用盡之後,效能將會降低。遊戲對延遲和捨棄的封包很敏感,因此建議使用 EC2 增強型聯網來協助改善遊戲伺服器的網路效能。增強型聯網使用單一根 I/O 虛擬化 (SR-IOV),在支援的執行個體類型 上提供高效能聯網功能。SR-IOV 是一種相較於傳統虛擬網路介面可提高 I/O 效能及降低 CPU 使用率的裝置虛擬化方式。增強聯網提供更高的頻寬、更高的每秒封包數 (PPS) 效能,以及一致較低的執行個體間延遲。使用 Elastic Network Adapter 增強型聯網適用於最新的 EC2 執行個體類型,並且重要的是定期更新
如果您的遊戲在多個 EC2 執行個體類型之間執行類似,則應考慮使用多個執行個體類型來託管您的遊戲伺服器。隨著時間的推移監控效能,並在託管足夠的生產遊戲工作階段後執行進一步的最佳化,以識別效能趨勢。請記住,當您在遊戲中新增需要不同資源配置的新功能時,您的運算需求可能會變更。您可以設定 EC2 Auto Scaling 群組使用多種執行個體類型,也可以使用個別的 Auto Scaling 群組來託管執行不同執行個體類型的遊戲伺服器執行個體,這可以更輕鬆地管理指標的相互關聯和彙總。
評估遊戲在 Intel 型執行個體、AMD 型執行個體和 ARM 型 Graviton 執行個體等不同處理器上的執行方式。Unreal Engine 5.1.1 或更新版本可以為 Graviton 編譯遊戲伺服器
您也應該對使用容器和 Lambda 函數託管的遊戲效能有何影響進行基準測試。對於不需要長時間遊戲伺服器程序的使用案例,例如非同步遊戲和遊戲後端服務,請考慮搭配 Lambda 使用無伺服器架構,這可以簡化遊戲操作團隊的管理和操作,並可讓您更快速地將遊戲全域部署到許多 AWS 區域。如需無伺服器最佳實務,請參閱 無伺服器應用程式鏡頭 - Well-Architected Framework。
實作步驟
-
針對 CPU 密集型工作負載的運算最佳化 'c' 執行個體、記憶體密集型任務的記憶體最佳化執行個體,以及高網路輸送量的網路最佳化 'n' 執行個體,對遊戲伺服器進行基準測試。
-
在支援的執行個體上使用增強型聯網搭配彈性網路轉接器 (ENA),以改善網路效能、降低延遲並提高封包處理速率。
-
評估和測試多個執行個體類型、處理器 (Intel、AMD、Graviton) 和容器或 Lambda 託管選項,隨著遊戲功能的發展調整運算解決方案。
如需詳細資訊,請參閱為您的全域遊戲伺服器選擇正確的運算策略