博客

软件与高性能: 为什么它们不必互相排斥

汤姆·阿特金斯缩略图
汤姆·阿特金斯
2020 年 3 月 3 日发布

目前,从硬件主导的环境迁移到云和软件定义架构的好处是众所周知的,例如提高了可扩展性、运营灵活性和经济灵活性,等等。 但也存在一种常见的误解,认为为了实现这些收益,组织不得不在应用程序的性能方面做出牺牲。 毕竟,共享的虚拟化基础设施如何才能提供与定制的专用硬件相同的性能?

尽管许多新的、无状态的、云原生应用程序被设计为随着需求的增长而水平扩展,但仍然有数千个具有状态要求的单片工作负载限制它们只能垂直扩展以满足不断增长的需求。 对于这些应用程序来说,更高的软件性能(和可扩展性)至关重要,因为许多应用程序在迁移到云端时不会(或者根本无法)重新架构。

进入 BIG-IP 虚拟版本 (VE)

自十年前 BIG-IP VE 诞生以来,客户最常问的问题之一就是“与你们的硬件相比,VE 能实现什么级别的扩展和流量处理性能? 很多年前,两者之间的差距就很大,因为早期的 VE 实际上只是为了取代面向低流量特定应用的应用交付硬件。 当时,VE 只能处理大约 1Gbps 的流量,同时只能处理硬件中可能的一小部分 L4/L7 请求和连接。

然而,快进到现在,在适当的条件下,VE 现在可以处理超过 100Gbps 的应用流量,并且在其他流量处理指标上可以匹敌除最高性能设备之外的所有设备。 在本文中,我们将介绍一些最新的 VE 增强功能和支持的加速技术,这些技术几乎缩小了与物理对应物的性能差距,同时让我们预先了解我们正在与 SmartNIC 合作开展的下一个 VE 优化项目。

  1. 优化单根 I/O 虚拟化 (SR-IOV) 的自定义 VE 轮询模式驱动程序

    对于那些不熟悉虚拟化基础知识的人来说,核心概念需要一个物理服务器托管一个软件层(操作系统/虚拟机管理程序),该软件层模拟底层硬件的功能,并允许多个不同的虚拟机(例如 BIG-IP VE)和可能不同的操作系统在其上运行。 虽然这对于优化物理服务器的资源利用率和实现应用程序移动性非常有用,但所需的额外虚拟机管理程序层和相关虚拟交换机会增加延迟并妨碍性能,因为请求必须与所有相关的副本和中断一起通过它。

    然而,使用 SR-IOV 允许 VE 直接与物理服务器上的网络接口 (NIC) 交互;绕过虚拟交换机层并改善延迟和性能。 虽然 SR-IOV 如今是一种相当常见的技术(大多数 NIC 供应商都支持它),但操作系统内核中包含的客户驱动程序或 NIC 供应商提供的客户驱动程序是通用的,并未专门针对 BIG-IP 进行优化。 这就是为什么 F5 还投入巨资为一系列领先的 NIC 适配器开发 VE 轮询模式驱动程序,以帮助在使用 SR-IOV 时加速 VE 数据包处理。正是这种方法使 VE 在 AWS 上达到高达 20Gbps 的 L4 吞吐量(在 Gen5 实例中使用 AWS Elastic Network Adapter),在 Azure 上达到高达 10Gbps 的吞吐量(使用 Azure Accelerated Networking),并在私有云环境中超过 85Gbps(使用 Mellanox CX5 100G NIC )。

    此外,通过执行链路聚合(本质上结合多个不同的 NIC 端口来创建单个高吞吐量数据路径),可以实现超过 100Gbps 的速度。 使用这种方法,您可以在此 DevCentral文章中了解单个 VE 如何使用三个 40G Intel NIC 实现 108Gbps。

  2. 利用英特尔快速辅助技术 (QAT) 卸载加密处理

    目前超过一半的网络流量都是加密的,随着物联网设备的爆炸式增长和全球向 5G 的转变,需要加密的数据量将呈指数级增长。 BIG-IP VE 在客户端和服务器之间的全代理架构中运行,解密所有加密流量,使其能够检查、分析和阻止看似恶意的有效负载,然后重新加密数据并将其路由到所需的目的地。 尽管 VE 已针对提供高性能基于软件的加密进行优化,但该过程仍然会给 CPU 资源造成负担 - 减少了可用于其他 L7 任务、iRules 或策略实施的处理周期数。

    为了减轻对具有大量加密处理要求的工作负载的影响,VE 将加密卸载到 Intel QAT——一种专为加密处理和压缩而设计的硬件加速器。 这样,VE 就能够卸载这些耗费 CPU 的任务,释放计算周期,并提高整体性能。 在最近关于使用 QAT 与 VE 的影响的研究中找到证据,该研究显示:

    • CPU 利用率降低高达 45%
    • 散货吞吐量增加高达 200%
    • 每秒交易量 (TPS) 增加高达 500%
  3. 引入无节流高性能 VE
  4. 在 F5 高性能 VE 推出之前,所有 VE 都使用吞吐率限制许可模型,其中许可证与设置的吞吐量级别和 CPU 数量(例如 200Mbps 和 2vCPU)保持一致。 对于较小的应用程序,25Mbps 实例可能就足够了,或者相反,对于需求量大的应用程序,最大的 10Gbps 实例可能更合适。

    但是那些要求更高的应用程序该怎么办呢? 或者那些有不可预测的要求的人? 随着 F5 开始支持更高带宽 NIC 并超过 10Gbps,我们推出了高性能 VE,其许可取决于允许使用的 vCPU 数量。 高性能 VE 所能达到的最大性能取决于分配给它的 vCPU 数量 - 从 8vCPU 到 24vCPU,以 4vCPU 为增量。 除了允许 VE 从每个 CPU 中挤出每个“每秒数据包”之外,这种方法还更支持 CPU 密集型用例,包括 DDoS 缓解和 SSL/TLS 加密。

    请参阅 BIG-IP VE数据表,了解有关高性能 VE 功能的更多信息。

  5. 未来 – 使用英特尔 SmartNIC 缓解超大规模 DDoS 攻击
  6. 分布式拒绝服务 (DDoS) 攻击仍然是最有效和最广泛使用的网络攻击形式之一 - 从沮丧的在线游戏玩家到国家网络团队,每个人都在利用它们来使目标应用程序和服务脱机。 这些攻击可能使用来自全球各地的机器的数千个不同的连接,可以迅速压垮安全解决方案,特别是那些没有足够能力缓解攻击的解决方案。 随着全球向 5G 的转变,DDoS 攻击的规模、严重性和复杂性只会增加,因为使用更少的设备形成大规模、资源耗尽的僵尸网络变得更加容易。

    然而幸运的是,您很快就能将特定的 CPU 密集型功能(包括从 BIG-IP VE 进行的 DDoS 缓解)卸载到英特尔(N3000 可编程加速卡)上——一款带有嵌入式现场可编程门阵列 (FPGA) 的 SmartNIC。 当 F5 利用我们超过 10 年使用 FPGA 的丰富经验对其进行正确编程时,该 SmartNIC 能够成倍地提高 VE 的 DDoS 缓解能力。 事实上,F5 的早期测试表明,这种组合解决方案能够抵御比仅使用 CPU 的 VE 强 70 倍的 DDoS 攻击,有助于确保您的应用程序和网络的安全。

    预计此项集成将于今年晚些时候全面上市,更多信息请参阅此解决方案简介

其他资源