随着云原生(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文章
10025浏览量
172493 -
cpu
+关注
关注
68文章
10922浏览量
213278
原文标题:英特尔携手阿里巴巴制定多重优化方案,助力阿里Noslate吞吐量提升49%至61%
文章出处:【微信号:英特尔中国,微信公众号:英特尔中国】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论