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