Amazon Graviton介紹
Amazon Graviton是亞馬遜云科技開發(fā)的ARM架構CPU處理器,與傳統的基于x86架構的CPU相比,它具有以下幾個主要優(yōu)勢:
-高性能
在Amaozn Graviton上,一個vCPU被映射到一個物理核心,并且沒有同步多線程(SMT),與基于x86的實例相比,基于Amazon Graviton的實例不會因資源爭用而出現性能下降。這使得在x86基礎實例上限制到一定CPU利用率的工作負載,可以在Amazon Graviton上推動更高的CPU利用率,同時仍滿足業(yè)務的性能要求。
-低成本
Amazon Graviton實例的定價比同代x86實例更低,加上其性能提升,可以帶來更高的性價比。
-高可擴展性
Amazon Graviton首先支持高性能網絡ENA Express和第二代EFA網絡,提供更強的網絡擴展能力。
目前亞馬遜云科技已經推出了4代Amazon Graviton處理器,性能不斷提升。Amazon Graviton是亞馬遜云科技的差異化優(yōu)勢之一,提供了更先進的技術選擇和卓越的性價比,可構建高性能且經濟實惠的云上系統。
FunPlus的Amazon Graviton遷移實踐
FunPlus的主要游戲產品包括《State of Survival》《King of Avalon》《Guns of Glory》均運行在亞馬遜云科技的海外區(qū)域,技術團隊成員有超過13年的亞馬遜云科技云服務使用經驗。從2020年,亞馬遜云科技開始大規(guī)模推廣采用第二代Amazon Graviton處理器的Amazon EC2服務器開始,FunPlus的技術團隊便發(fā)現基于ARM架構的Amazon Graviton EC2具有的性價比優(yōu)勢,開始在支持游戲運行的技術中間件平臺中,逐步采用Amazon Graviton EC2,多年來在運行穩(wěn)定的前提下,降低了FunPlus游戲運營的成本。
2024年,為了進一步提升游戲服務器的性價比,FunPlus決定擴大Amazon Graviton EC2的使用范圍,把主要游戲產品的游戲服也運行在Amazon Graviton EC2上。游戲服的主要組件包括:戰(zhàn)斗服,地圖服,數據服務,之前運行在使用intel x 86 CPU的Amazon EC2 5系機型,需要遷移到Amazon Graviton EC2。
戰(zhàn)斗服遷移(PHP開發(fā))
FunPlus SLG游戲的戰(zhàn)斗服采用PHP開發(fā),在操作系統上安裝ARM版本的PHP即可。FunPlus原來使用的是CentOS 7系統,隨著CentOS 7到達EOL,在遷移Amazon Graviton的過程中,同時也選擇了Amazon Linux作為運行游戲服務器的操作系統。
我們對戰(zhàn)斗服進行性能測試后發(fā)現,采用Amazon Graviton2 EC2的戰(zhàn)斗服QPS處理能力相較x86架構提升6%。
地圖服與數據服的遷移(Go語言開發(fā))
地圖服(MapServer)與數據服(DataServer)均采用Go語言開發(fā)。由于Go開箱即用地支持arm64架構,只需使用Go compiler重新編譯即可,無需對地圖服的代碼本身做任何修改。根據亞馬遜云科技官方提供的數據,Go 1.18版本對Amazon Graviton進行了優(yōu)化,可獲得更好的性能。FunPlus也使用了Go 1.18版本運行地圖服與數據服。
為了比較Go開發(fā)的應用程序在Amazon Graviton上的性能表現,我們對數據服(DataServe)性能測試效果進行了測試。
結論:從相同條件下多次壓測平均結果看,C6g主機承載的各類QPS相較C5增加12%+。
DBProxy服務遷移(C++語言開發(fā))
DBProxy是FunPlus技術中臺提供給各游戲業(yè)務用于訪問MySQL數據庫的中間件,采用C++語言開發(fā)。在Amazon Graviton上對代碼進行重新編譯即可運行,沒有對代碼進行改動。亞馬遜云科技官方建議使用最新版本的GCC對代碼進行編譯,可以獲得更好的性能。FunPlus目前使用的Amazon Linux 2系統自帶的已經對Amazon Graviton進行過優(yōu)化的GCC 7編譯器。
業(yè)務成果
總的來說,通過大規(guī)模遷移游戲服到Amazon Graviton,幫助FunPlus降低了成本、提高性能,對于在亞馬遜云科技云上運行工作負載并希望優(yōu)化基礎設施成本同時保持高性能的企業(yè)來說,Amazon Graviton是一個很好的選擇。
下一步,FunPlus會在更多業(yè)務場景上探索和擴大Amazon Graviton的使用范圍,并測試亞馬遜云科技推出的第三代和第四代Amazon Graviton EC2,以期獲得更高的性價比。
關于FunPlus
FunPlus,中文名為趣加,是一家全球多元化的游戲研發(fā)、運營、發(fā)行品牌,2010年在美國硅谷創(chuàng)立,總部位于瑞士。FunPlus致力于為全球用戶提供創(chuàng)新的娛樂體驗。多年來,FunPlus成功研發(fā)并推出了眾多全球流行的移動游戲產品,其主要代表產品包括《State of Survival》《阿瓦隆之王》《火器文明》等,憑借獨特的游戲體驗、創(chuàng)新的游戲內容和前衛(wèi)的玩法設置,贏得了玩家的認可。
FunPlus旗下的工作室及項目團隊憑借多年來在游戲開發(fā)中的技術積累和研發(fā)優(yōu)勢,不斷拓展細分市場、持續(xù)進行差異化創(chuàng)新,聚焦探索新型電子游戲產品和前沿生成式AI科技。推動游戲研發(fā)領域的生產力變革,不斷提升游戲研發(fā)管道的自動化、智能化和游戲的自適應化。FunPlus吸引了來自全球各地、擁有不同文化背景的2000多名專業(yè)游戲人才,并在中國大陸、日本、新加坡、西班牙和美國等多個國家和地區(qū)的十余個城市設有辦事處。
參考資料
Graviton Technical Guide:https://github.com/aws/aws-graviton-getting-started