9月25日,腾讯云正式发布第三代云服务器矩阵,新推出网络优化型N1等在内的多款实例。
相比标准型、高IO型、内存型、计算型和FPGA型等实例类型,网络优化型N1实例采用新型智能网卡,支持SR-IOV,并在智能网卡中实现vSwitch,用硬件实现网络路由分发功能,提供最高450w PPS的网络转发性能以及多达25Gbps的网络带宽,网络延时大大降低,实现接近物理网卡的网络延时。既可以满足用户高速计算的需求,也让用户能够在虚拟化网络中得到媲美物理机的性能体验。
那么,腾讯云网络优化型N1实例是如何实现这一极致性能的呢?
传统虚拟化技术在网络性能上存在瓶颈
在非网络优化型服务器中,采用的是传统虚拟化网络的技术。但是在面对数据流爆发式增长,如双11电商抢购秒杀、春晚红包、超大型网络游戏应用中,传统虚拟化技术下实例的网络收发能力可能依旧存在瓶颈。
▲常见虚拟网络的实现
上图描述了传统虚拟化网络的实现,包括了以下元素:
CVM:对应是云服务器;
vNic:云服务器的网卡,通常是virtio-net网卡;
vSwitch:虚拟路由器,例如Linux下网桥,Open vSwitch等。
基于云服务器的数据包外发会先经过虚拟的vNIC转发到虚拟的vSwitch上,经过路由决策后,才能发送到物理网络;数据包接收流程则物理网卡接收到网络数据包后,转发到vSwitch上,经过路由决策后,发给云服务器所在的vNic,云服务器接收到网络数据包。
从流程中可以看出,每个数据包都会经过vNic和vSwitch的处理,和物理服务器相比,这里遇到了新的性能瓶颈:
(1)vNIC虚拟设备虚拟化性能损耗。中断不能直接送到虚拟机,收发包没有硬件加速,同时数据包的处理会消耗宿主机服务器的资源;
(2)vSwitch的性能瓶颈。vSwitch通过宿主机服务器实现,有可能和虚拟机争抢CPU计算资源,同时也缺乏硬件加速功能。
总体来看,传统虚拟化网络方案的瓶颈在于和网络关键路径相关的硬件都是虚拟的,而最理想的方案是云服务器能直接使用物理硬件。
在这方面,如果是小型的私有云网络,没有多个用户,没有灵活的网络配置的前提下,可以直接使用物理网卡提供的SR-IOV技术。
SR-IOV技术是一种基于硬件的虚拟化解决方案,可提高性能和可伸缩性。SR-IOV 标准允许在虚拟机之间高效共享PCIe(Peripheral Component Interconnect Express,快速外设组件互连)设备,并且它是在硬件中实现的,可以获得能够与使用物理网卡性能媲美的 I/O 性能。
智能网卡方案带来网络性能提升
SR-IOV技术能够改善网络性能,那为什么没有在公有云中暂时没有见到大规模使用实例呢?因为常规的SR-IOV技术,网卡无法实现复杂的自定义功能,不能编程,没法实现vSwitch的功能。没有vSwitch就无法实现多个用户之间的网络隔离以及用户自定义网络功能。
为了解决这个问题,腾讯云引入了新硬件——智能网卡,推出新型网络虚拟化技术2.0。
智能网卡区别于普通网卡的最大的特点是“智能”,体现在以下四个方面:
Ø 更出色的SR-IOV性能,提供了更多的网络加速硬件。
Ø 让云服务器可以直接使用高性能物理网卡硬件,无需将数据包绕行到母机网卡
Ø 智能网卡具有各种硬件加速功能,包括数据包硬件解析,校验和offload,流量控制,网络安全加速等。
Ø 智能网卡本身是可编程的,可以灵活实现各类vSwitch逻辑,避免了宿主机服务器的资源消耗。
那么,问题再次出现,既然智能网卡功能这么强大,那为什么智能网卡之前没有见到在公有云中使用呢?
究其原因,是因为智能网卡的开发难度比较大:
Ø 智能网卡和宿主机服务器是异构架构。
智能网卡通常使用ARM架构或MIPS架构,而宿主机服务器是X86架构,异构架构大大增加了开发难度。
Ø 智能网卡上编程开发和调试比较困难。
在智能网卡上要实现vSwitch的复杂功能,同时充分利用智能网卡硬件提供的各种硬件加速功能,对开发者的要求非常高。
在攻克智能网卡使用的各种困难之后,结合腾讯云已有的网络VPC技术,腾讯云推出了新型实例——网络优化型实例N1。
基于第二代网络虚拟化技术的网络优化型实例N1机器采用新型智能网卡,支持SR-IOV,并在智能网卡中实现vSwitch,用硬件实现网络路由分发功能,提供最高450w PPS的网络转发性能以及多达25Gbps的网络带宽,网络延时大大降低,实现接近物理网卡的网络延时。同时,保持了已有的VPC网络的用户体验的一致性。
▲腾讯云第二代网络虚拟化技术实现
由上图可见,和常见虚拟网络方案相比,有两个大的变化:
(1)CVM计算实例直接使用SR-IOV网卡而非虚拟网卡,性能媲美物理网卡。且每个SR-IOV网卡相互独立,不同用户之间不会出现网卡资源抢占。智能网卡与和传统网卡相比,在SR-IOV功能方面,提供了更多的网络硬件单元。
(2)在智能网卡中实现vSwitch,解决性能瓶颈问题。智能网卡的硬件加速及可编程特性极大的提高了vSwitch的性能。
这样,传统虚拟化网络的实现方案的两个瓶颈——vNIC虚拟设备虚拟化性能损耗和vSwitch的性能瓶颈,在网络优化型 N1实例都得到完美的解决,在网络收发包性能上、内网带宽、网络时延上都得到了较大的提升。
网络是用户使用云服务时最为关注的技术点之一。目前,腾讯云引入最新智能网卡并基于第二代网络虚拟化技术打造的网络优化型计算实例,已经惠及众多游戏、电商、社交应用、直播等领域的客户。