初学入门 | AWS ENA Express 的优势是什么?


  基本概述

AWS ENA Express 是 AWS 推出的高性能网络增强功能,专为优化同一可用区内 EC2 实例间的网络通信打造,且不收取额外费用。该功能基于 AWS 自研的可扩展可靠数据报(SRD)协议打造,依托 Nitro 卡的硬件能力实现网络性能的大幅提升,支持 120 款 EC2 实例,涵盖网络优化型、存储优化型、内存密集型和加速运算型等多种类型,能适配不同的云服务工作负载需求,为用户提供更高效、更稳定的网络传输体验,解决了传统网络在高负载下的带宽受限、延迟波动等问题。

  主要功能

AWS ENA Express 核心是实现了单流带宽和延迟的双重优化,同时具备智能的网络拥塞处理能力。它将同一可用区内单流最大可用带宽从 5 Gbps 提升至 25 Gbps,上限不超过实例的总计带宽限制,大幅提升了单流数据传输的吞吐量。在延迟优化上,该功能能显著降低网络流量的尾部延迟,尤其在网络高负载时段效果突出,让网络响应时间的分布更平滑标准。此外,ENA Express 可自动检测并避开拥塞的网络路径,还能在网络层直接处理数据包重新排序、大部分数据重传等工作,无需占用应用层资源,让应用层能专注于核心业务处理。

  工作原理

AWS ENA Express运行以 SRD 协议为核心驱动,同时依托 Nitro 卡实现硬件级的网络处理,且与 TCP、UDP 协议透明兼容。它直接集成在基于 Nitro 系统的 EC2 实例上,与现有的 Elastic Network Adapter 协同工作,用户只需进行简单的配置即可享受性能提升。在标准网络中,多个数据流可能会在队列中“争抢”资源,导致某些数据包等待时间过长,即“队头阻塞”现象。ENA Express 引入了一种流量调度机制。它会在网络虚拟化层识别并分离出不同的网络流。然后,系统为每个流提供专用的子队列和轮询服务。这就像为重要的数据包开辟了专属的快速通道,避免了它们在共用队列中无谓的等待。这种精细化的调度由 AWS Nitro 系统硬件高效执行,几乎不增加额外开销,从而实现了低延迟和高吞吐量的结合。

  使用场景

任何对网络延迟敏感、要求性能一致性的云上工作负载,都是 ENA Express 的理想应用场景。搭配网络优化型实例时,其高单流带宽和稳定的尾部延迟特性,非常适合文件系统访问、媒体编码等业务;与存储优化型实例结合,能有效提升数据库大型对象的交易性能,加快数据读写与传输效率。在内存密集型实例上启用该功能,可显著优化 SAP HANA 等内存数据库的单流交易性能,满足高并发的数据库操作需求;对于加速运算型实例,ENA Express 能提升 FSx Lustre 等高性能文件系统的访问效率,适配算力密集型的业务场景。同时,该功能也适用于 Redis、Memcached 等内存数据库集群,优化集群内客户端与节点间的读写通信性能。