英特尔® Crypto-NI 优化助力 Opera 打造高性能、低成本负载均衡系统

英特尔® Crypto-NI 优化助力 Opera 打造高性能、低成本负载均衡系统

概述

  • 为缓解互联网广告业务中负载均衡系统的性能压力, Opera 采用了基于第三代英特尔® 至强® 可扩展处理器的负载均衡服务器,帮助 Opera 高效地处理负载均衡中的加解密负载,提升负载均衡的性能与总体拥有成本 (TCO) 优势,同时降低系统的复杂度与可用性风险。

author-image

作者

概述

作为知名的互联网技术与浏览器品牌,欧普拉 (Opera) 的互联网广告业务在近年来实现了持续增长,该业务不仅服务于 Opera 自有的 App,也服务于第三方 App。为了缓解互联网广告业务中负载均衡系统的性能压力, Opera 采用了基于第三代英特尔® 至强® 可扩展处理器的负载均衡服务器。第三代英特尔® 至强® 可扩展处理器不仅在内核、吞吐量、 CPU 频率等方面具备卓越优势,还集成了英特尔® 密码操作硬件加速指令 (英特尔® Crypto-NI),能够帮助 Opera 高效地处理负载均衡中的加解密负载,提升负载均衡的性能与总体拥有成本 (TCO) 优势,同时降低系统的复杂度与可用性风险。

挑战:互联网广告业务对于负载均衡性能带来更高要求

面向互联网广告业务的负载均衡性能正受到加解密负载的影响。为了保护用户数据安全,互联网服务提供商越来越多地采用了安全套接字协议 (SSL)、安全传输层协议 (TLS) 等协议,以提供身份验证与加密通讯功能,在通信应用程序之间提供保密性和数据完整性,降低安全风险。

TLS/SSL 协议提供的连接安全性具有私有、可靠性两大特点,其利用非对称加密算法实现身份认证和密钥协商。对称加密算法采用协商的密钥对数据加密,基于散列函数验证信息的完整性。HTTPs 带来的数据加解密负载将会消耗大量的 CPU 资源,在同等硬件条件下,未经优化的 HTTPs 业务的延迟可能会比 HTTP 高出数百毫秒,影响用户访问体验。

Opera 的负载均衡服务器主要采用了 Nginx 服务器模式。 Nginx 是一个高性能的 HTTP 和反向代理 Web 服务器,通过启用异步模式, Nginx 能够通过并行处理减少等待,消耗相对很少的系统资源就能达到所需的性能,缩短应用响应时间。

在相当长的时期内, Opera 的负载均衡服务器主要依靠未搭载特定指令集的 CPU 来进行加解密的计算,这一方式会带来如下挑战:
 

  • 性能挑战:未经过专门优化的 CPU 难以高效处理负载均衡业务中的加解密等负载,导致 CPU 占用率居高不下,负载均衡服务器的吞吐量难以满足实际业务的需求。
  • 成本挑战:为了满足实际业务对于负载均衡服务器的性能需求,通常的方式是扩展服务器节点,但是这种方式会带来硬件采购成本、能耗成本、空间成本的提升,带来较高的成本压力。

解决方案: Opera 采用第三代英特尔® 至强® 可扩展处理器加速负载均衡

为了解决上述挑战, Opera 与英特尔合作,在互联网广告业务中采用了基于第三代英特尔® 至强® 可扩展处理器的负载均衡服务器,并利用处理器集成的英特尔® Crypto-NI 指令加速负载均衡中的加解密服务处理。

与上代产品相比,第三代英特尔® 至强® 可扩展处理器拥有更多内核、更优化的架构,带来了性能的大幅提升。其搭载的英特尔® Crypto-NI 可并行执行加密功能,降低实施普遍数据加密带来的性能损耗。

英特尔® Crypto-NI 在之前英特尔® 至强® 可扩展处理器已经具备的英特尔® 高级加密标准新指令 (英特尔® AES-NI) 的基础上增加了矢量化 AES 和整数融合乘法加法等新指令。该解决方案使用的主要软件为 IPP 加密库、英特尔® Crypto-多缓冲区软件库 (intel-ipsec-mb) 和英特尔® 通信加速技术 (英特尔® QAT),可提供多个 SSL 请求的批量提交和基于新指令集的并行异步处理机制,大幅提高了性能。

英特尔® Crypto-多缓冲区软件库融合了基于英特尔® AVX-512 指令集的 IFMA (整数融合乘法加法) 指令,能针对 RSA 等算法提供深层次的软件优化。当 HTTPS 等进程使用这一技术时,可通过批处理方式对队列中维护的多个请求执行操作,并使用 OpenSSL 异步基础架构将最多 8 个批处理请求提交给多缓冲区 API,利用英特尔® AVX-512 指令集对其进行并行处理。这一多缓冲区优化的方式在具有许多并行连接的异步操作场景中使用时,可实现大幅的性能提升。

收益:更高的性能,更低的成本压力

在启用基于第三代英特尔® 至强® 可扩展处理器的负载均衡服务器之后, Opera 获得了如下重要收益:
 

  • 在无需改变系统架构与上层应用的前提下, Opera 将负载均衡服务器的吞吐量提升了近一倍,这有助于更有效地应对业务增长带来的负载均衡压力。对于上层应用来说,这也意味着更快速的响应,更佳的应用体验。
  • 受益于单节点吞吐性能的增长, Opera 只需部署约一半数量的服务器即可达到之前方案的性能,从而减少了服务器采购、运维等方面的成本。
  • 该方案无需部署额外硬件,因此系统的复杂性不会提升,这也有助于降低应用系统的故障点,保证系统的稳定性与可用性。