隨著云原生(Cloud Native)、無服務架構(Serverless)等新一代云服務架構獲得越來越多的部署,給各類應用帶來挑戰。為讓應用具有更好的性能和彈性,進而滿足業務在泛終端、全棧交付等領域的需求,阿里巴巴借助長期的技術積累與創新探索,在 Node.js 的基礎上打造了 Noslate 這一面向無服務架構和云原生場景的 JavaScript 容器方案。
作為阿里巴巴多年的深度合作伙伴,英特爾提供的先進全棧軟硬件產品與技術,一直是阿里云構建強勁云基礎設施的重要基石。例如第四代英特爾 至強 可擴展處理器被引入阿里云最新第八代企業級彈性計算實例規格族 ECS g8i 中,在實例性能相比上一代提升60%1。目前,Noslate 在阿里巴巴眾多業務場景中承擔越來越重要的角色,并逐漸成為主流的服務端負載之一。為了讓 Noslate 在基于英特爾架構的云平臺上獲得更好的運行性能和更短的啟動時間,英特爾與阿里巴巴一起,攜手打造全新的多重優化方案,并在后續的驗證測試中取得了預期的效果。
![wKgaomU7p22ABFojAADWQdBO_o4052.gif](https://file1.elecfans.com//web2/M00/AA/E5/wKgaomU7p22ABFojAADWQdBO_o4052.gif)
![wKgaomU7p22ABFojAADWQdBO_o4052.gif](https://file1.elecfans.com//web2/M00/AA/E5/wKgaomU7p22ABFojAADWQdBO_o4052.gif)
借助英特爾在Node.js上的優化經驗,雙方攜手制定的Noslate優化方案圍繞基于英特爾 架構的平臺及相關軟硬件技術展開,可分為以下11個優化項:
利用異步Nginx優化加速加解密性能 利用SIMD指令提升緩沖區換位操作的性能借助透明大頁技術實現性能加速
對新生代空間大小參數調優 默認打開Noslate壓縮指針特性 默認打開Short Built-in calls特性 利用PGO實現性能加速 利用BOLT加速性能 優化容器的處理器資源分配 優化Noslate主線程的處理器親和性 利用字節碼緩存,減少函數式計算框架的冷啟動時間其中優化項1、2是針對英特爾 架構平臺所具備的向量化硬件特性而專門設計,其它優化項則可用于英特爾及其它平臺。但一些測試表明,這些優化項在基于英特爾 架構的平臺上有著更優的表現。
為驗證 11 個優化項的效果,阿里巴巴與英特爾一起基于第四代英特爾 至強 可擴展處理器,在云實例上開展了交叉測試,并覆蓋了 Ubuntu、Anolis 等不同的操作系統。測試方案基于英特爾開發的 Node.js 性能測試場景展開,這些測試項都來自現實世界開源的 Node.js 應用代碼或 Node.js 官方的性能測試案例。測試場景包括:Ghost.js、Web Tooling和Function Computing Cold Start up(函數式計算冷啟動時間)。
其中,Ghost.js 測試場景是在服務器上啟動多個 docker 實例(數量通常與服務器邏輯核心相同),在服務器的處理器負載達到 90% 以上后,測量服務器的每秒吞吐量,所有實例的吞吐量之和就是總性能(值得注意的是,此配置僅用于簡化測試,可能無法反映實際情況)。而性能測試套件 Web Tooling 測試場景,是將每個 docker 實例中都有一個 Node.js 進程運行 Web Tooling 基準測試,服務器上將啟動多個 docker 實例(數量通常與服務器邏輯核心相同),在服務器的處理器負載達到 90% 以上后,計算每個 docker 實例的幾何平均數乘以實例數作為性能結果。在 Function Computing Cold Start up(函數式計算冷啟動時間)場景下,在服務器上啟動多個相同的性能測試容器,當服務器的處理器負載達到 90% 以上后,測量每個容器中函數式計算框架的平均啟動時間。(值得注意的是,這一測試場景主要是面向云服務提供商,幫助其優化 FC 框架代碼,減少啟動延遲)
![wKgaomU7p22ABFojAADWQdBO_o4052.gif](https://file1.elecfans.com//web2/M00/AA/E5/wKgaomU7p22ABFojAADWQdBO_o4052.gif)
![wKgaomU7p22ABFojAADWQdBO_o4052.gif](https://file1.elecfans.com//web2/M00/AA/E5/wKgaomU7p22ABFojAADWQdBO_o4052.gif)
結合以上不同測試場景,在每個工作負載都加入所有可用優化項后,阿里巴巴與英特爾基于阿里云最新的第八代企業級 ECS 實例 g8i (配置第四代英特爾 至強 可擴展處理器)開展了測試。測試結果中,Full Server Load 意味著對運行相同工作負載的多個節點實例(基于超線程數的 64 個實例)進行測試。測試結果如下2:
吞吐量獲益(Ubuntu操作系統)
圖1Ubuntu操作系統中優化方案帶來的吞吐量獲益(歸一化)
FC啟動時間降低(Ubuntu操作系統)
圖2Ubuntu操作系統中優化方案帶來的FC啟動時間降低(歸一化)
吞吐量獲益(Anolis操作系統)
圖3Anolis操作系統中優化方案帶來的吞吐量獲益(歸一化)
FC啟動時間降低(Anolis操作系統)
圖4Anolis操作系統中優化方案帶來的FC啟動時間降低(歸一化)
綜合來看,11 項優化項在基于第四代英特爾 至強 可擴展處理器的平臺上能為 Noslate 工作負載帶來顯著性能提升。在不同的操作系統中,不同測試場景下的吞吐量獲益可達 49% 至 61%,而 FC 啟動時間也能分別降低 38% 和 42%。
阿里巴巴與英特爾攜手開展的優化方案,被證明可幫助 Noslate 有效提升其在云平臺,尤其是基于英特爾 架構的云基礎設施上的性能表現,這讓阿里云上的 Node.js 開發者能夠以更低的成本獲得更加穩定可控的 Node.js 運行環境,并使最終用戶獲得更佳的服務體驗。未來,雙方計劃以龍蜥社區為合作載體,進一步在 Node.js、WebAssembly 等技術領域上,圍繞第四代英特爾 至強 可擴展平臺的特性開展優化,并構建標準化、有代表性的性能測試集來提升真實工業級框架的性能。
參考資料:
1 數據來源于阿里云,如欲了解更多詳情,請聯系阿里云:https://www.aliyun.com/
2 測試配置,硬件配置:測試平臺:阿里云第八代企業級ECS實例g8i;處理器:英特爾 至強 鉑金8475B 處理器(32內核,64虛擬處理器);內存:256GB;BIOS版本:449e491;Microcode:0x1;操作系統::Ubuntu 22.04.1 LTS/Anolis OS release 8.8;Kernel版本:5.15.0-58-generic for Ubuntu/5.10.134-13.an8.x86_64 for Anolis;Docker版本:23.0.1。軟件配置:Noslate:V16.19.1;Ghost.js workloadV4.4.0;Nginx:V1.18.0;Async Nginx *:V0.4.5;QAT Engine *:V0.6.5;OpenSSL Library *:V1.1.1j;IPP Crypto Library *:2020u3;Ipsec Multi-Buffer Library *:V0.55。(其中標*軟件僅使用在Ghost https測試場景中)
想看更多“芯”資訊
用你的贊和在看告訴我們~
英特爾公司,英特爾、英特爾logo及其它英特爾標識,是英特爾公司或其分支機構的商標。文中涉及的其它名稱及品牌屬于各自所有者資產。
-
英特爾
+關注
關注
61文章
10017瀏覽量
172424 -
cpu
+關注
關注
68文章
10911瀏覽量
213144
原文標題:英特爾攜手阿里巴巴制定多重優化方案,助力阿里Noslate吞吐量提升49%至61%
文章出處:【微信號:英特爾中國,微信公眾號:英特爾中國】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論