Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >腾讯云超高网络性能云主机揭秘

腾讯云超高网络性能云主机揭秘

原创
作者头像
腾讯云开发者社区
发布于 2017-12-05 07:53:21
发布于 2017-12-05 07:53:21
21.2K0
举报

随着机器学习,网络游戏,电商抢购等应用的大规模爆发,公有云用户对虚机网络性能要求迅速提高。腾讯云推出网络优化型实例,实现最高450w PPS的虚机网络转发性能以及多达25Gbps的网络吞吐性能,网络延时大大降低。既可以满足用户高速计算的需求,也让用户能够在虚拟化网络中得到媲美物理机的性能体验。

那么腾讯云网络优化型实例是如何做到这一性能的呢?

▲常见虚拟网络的实现

上图描述了基于KVM的传统虚拟化网络的实现,从图中我们可以看到,云服务器外发数据包需要经过KVM、QEMU、TAP、vSwitch等组件的处理,需要经过多次上下文切换,整个路径很长,与物理服务器相比,这里存在明显的性能瓶颈。主要原因在于在虚拟化环境中,网络边界发生了变化,网卡从真实硬件变成了软件模拟,边界交换设备也从硬件交换机变成了软件vSwitch。这些软件模拟工作绝大部分都在宿主机Linux内核来完成。然而Linux内核协议栈设计的目标不在于高性能报文处理,而是通用灵活。在虚拟化环境下,继续使用内核协议栈作为报文交换中心,性能难免捉襟见肘。

为了解决这个问题,腾讯云引入智能网卡和DPDK两种专用高性能报文处理平台。

DPDK是一种用户态高性能报文处理平台,相对于Linux内核,它通过以下手段来优化报文处理性能:

  • 轮询模式收包,降低中断上下文切换开销。
  • 使用hugepage并且预分配内存,减少tlb miss和缺页中断导致的延迟抖动。
  • 不依赖任何系统调用,消除用户态/内核态切换开销。
  • 通过良好设计,可以实现进程间无锁,总体性能随进程数目线性增长。
  • 使用过程中一般会运行在隔离cpu上,降低进程调度对dpdk的影响。

通过以上技术,dpdk可以实现10倍以上于Linux内核的报文收发性能。

智能网卡是一种新型网卡硬件,相比于普通网卡,它主要智能在以下几个方面:

  • 更出色的SR-IOV性能,可以虚拟出更多的VF分配给虚机使用。
  • 让云服务器可以直接使用高性能物理网卡硬件,无需将数据包绕行到母机网卡。
  • 智能网卡具有各种硬件加速功能,包括数据包硬件解析,校验和offload,流量控制,网络安全加速等。
  • 智能网卡本身是可编程的,可以灵活实现各类vSwitch逻辑,避免了宿主机服务器的资源消耗。

既然DPDK和智能网卡能达到如此高的性能,那为什么之前没有见到在公有云中使用呢?

究其原因,是因为这两个平台开发难度比较大。传统的vSwitch一般在内核实现,依赖各种开源软件以及内核框架,但DPDK及智能网卡仅仅提供了收发包接口,所有高级功能都需要自行实现。如果软件架构设计不好,很可能将内核中影响性能的问题再次引入新平台,而无法充分发挥平台优势。因此针对新平台的vSwitch设计对软件开发人员提出了很大挑战。

为了解决这个问题,腾讯云将vSwitch拆分成快速路径和慢速路径。慢速路径负责连接首包的路由/ACL/安全组等规则执行,快速路径负责连接后续包的快速处理。通过分离式架构设计,腾讯云实现了最高450w PPS的网络转发性能以及多达25Gbps的网络带宽,网络延时大大降低,实现接近物理网卡的网络延时。同时,保持了已有的VPC网络的用户体验的一致性。

这样,传统虚拟化网络的实现方案的瓶颈在网络优化型实例得到完美的解决,在网络收发包性能上、内网带宽、网络时延上都得到了较大的提升。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【犀牛鸟论道】揭秘腾讯云网络优化型实例N1:450w PPS网络转发性能如何实现?
云计算正在经历全新的变革,在强大的计算力之上,业务场景正在驱动技术的创新与变革。9月25日,腾讯云正式发布第三代云服务器(CVM)矩阵,最新的计算、存储、网络和异构计算实例首次亮相。截至目前,腾讯云提供的云服务器(CVM)矩阵包含了26款实例,全面覆盖电商、视频、游戏、金融、基因测序、智能语音、汽车、医疗、物联网等192种业务场景,开启全行业的计算提速。 腾讯云正式发布第三代云服务器矩阵,新推出网络优化型N1等在内的多款实例。 相比标准型、高IO型、内存型、计算型和FPGA型等实例类型,网络优化型N1实例采
腾讯高校合作
2018/03/21
1.4K0
【犀牛鸟论道】揭秘腾讯云网络优化型实例N1:450w PPS网络转发性能如何实现?
腾讯云网络VPC大规模演进实践
2020年12月19日,2020 TECHO PARK 腾讯开发者大会在北京顺利召开。网络专场以“全球互联、高速上云”为主题,腾讯云网络产品专家工程师周显平带来了《腾讯云网络VPC大规模演进实践》的演讲,子标题《百万级虚拟网络、千万级云主机规模下云网络的挑战与思考》,重点讨论云网络在支持超大规模节点和流量上在可扩展,高可用,高性能, 可运维上面临的挑战, 以及腾讯云在这方面的实践。本文主要从腾讯云网络VPC的产品架构、云网络VPC的挑战、以及腾讯云网络的解决方案、重点讲解SDN控制器、虚拟交换机、云服务网关的演进路线。
网络工程师笔记
2021/05/17
3.9K0
腾讯云网络VPC大规模演进实践
《深入浅出DPDK》&《DPDK应用基础》读书笔记
本文主要介绍了我在阅读《深入浅出DPDK》,《DPDK应用基础》这两本书中所划下的知识点
没有故事的陈师傅
2020/11/19
4.5K0
《深入浅出DPDK》&《DPDK应用基础》读书笔记
如何在openstack环境下实现高性能的网络服务
大家晚上好。那我们开始吧。主要还是抛装引玉,互相学习交流。今天和大家分享下面一些内容: 1.关于openstack中VNF网络性能的一些思考和思路 2.相关的开源项目 3.OVS 2.4 DPDK with IVSHMEM/vHost-user(w/DPDK) 和vHost (w/oDPDK)性能测试数据 4.后续可以一起来做的一些工作 第一部分 关于openstack中VNF网络性能的一些思考和思路 先来介绍一下背景,目前openstack社区版本的一些网络服务如routing,fip,snat,fw,v
SDNLAB
2018/04/02
1.6K0
如何在openstack环境下实现高性能的网络服务
Qemu-KVM 网络性能优化实践
《Qemu-KVM网络性能优化实践》针对在虚拟化环境中使用Qemu-KVM带来的网络性能下降的问题,从多个方面进行了优化,包括:1.优化虚拟网卡到物理网卡的转发性能;2.减少虚拟机内部的队列调度开销;3.提升虚拟网卡和物理网卡的并发处理能力;4.优化虚拟机与物理机之间的数据传输过程。通过这些优化措施,Qemu-KVM的网络性能得到显著提升,达到了与物理机相当的水平。
serena
2017/09/11
6.2K0
Qemu-KVM 网络性能优化实践
【重识云原生】第四章云网络4.9.1节——网络卸载加速技术综述
网络offload主要是指将原本在内核网络协议栈中进行的IP分片、TCP分段、重组、checksum校验等操作,转移到网卡硬件中进行,CPU的发包路径更短,消耗更低,提高处理性能。
江中散人_Jun
2022/07/12
3.3K0
【重识云原生】第四章云网络4.9.1节——网络卸载加速技术综述
【重识云原生】第四章云网络4.9.3.1节——DPDK技术综述
        数据平面开发套件(DPDK [1]  ,Data Plane Development Kit)是由6WIND,Intel等多家公司开发,主要基于Linux系统运行,用于快速数据包处理的函数库与驱动集合,可以极大提高数据处理性能和吞吐量,提高数据平面应用程序的工作效率。
江中散人_Jun
2022/09/08
1.6K0
【重识云原生】第四章云网络4.9.3.1节——DPDK技术综述
Virtio网络的演化之路
作为一个开放的标准接口,virtio一直在云计算与虚拟化中扮演着重要的角色。而virtio网络接口,作为virtio标准支持下最复杂的接口之一,在虚拟机/容器网络加速、混合云加速中一直扮演着重要角色。本文将在读者对virtio标准与虚拟化有一定了解的前提下,介绍virtio网络架构从创造之初到如今的演化之路。
虚拟化云计算
2019/11/18
8.3K0
智能网卡的网络加速技术
2021年9月25日,由“科创中国”未来网络专业科技服务团指导,江苏省未来网络创新研究院、网络通信与安全紫金山实验室联合主办、SDNLAB社区承办的2021中国智能网卡研讨会中,多家机构谈到了智能网卡的网络加速实现,我们对此进行整理,以飨读者。
SDNLAB
2021/10/21
7.5K0
DPDK性能压测系列-1:dperf 工具简介
本章节介绍的是一款面向四层网关(如四层负载均衡,L4-LB)的高性能的压测工具dperf。该工具目前已经在github上开源,是一款高性能的压测工具:
通信行业搬砖工
2023/03/23
6.5K0
DPDK性能压测系列-1:dperf 工具简介
【重识云原生】第四章云网络4.8.3.1节——Open vSwitch简介
        在过去十几年中,虚拟化已经改变了应用、数据、服务的实现部署方式。服务器的虚拟化给数据中心网络带来了根本性的变化。在传统的数据中心网络架构基础上,出现了一个新的、位于物理服务器内的接入层。这个新的接入层包含的设备是运行在x86服务器中的vSwitch,而这些vSwitch连接着一个服务器内的多个workload(包括容器和虚机)。
江中散人_Jun
2022/07/12
5.6K0
【重识云原生】第四章云网络4.8.3.1节——Open vSwitch简介
【重识云原生】第四章云网络4.7.5节vDPA方案——virtio的半硬件虚拟化实现
        Virtio作为一种半虚拟化的解决方案,其性能一直不如设备的pass-through,即将物理设备(通常是网卡的VF)直接分配给虚拟机,其优点在于数据平面是在虚拟机与硬件之间直通的,几乎不需要主机的干预。而virtio的发展,虽然带来了性能的提升,可终究无法达到pass-through的I/O性能,始终需要主机(主要是软件交换机)的干预。vDPA(vhost Data Path Acceleration)即是让virtio数据平面不需主机干预的解决方案。该框架由Redhat提出,实现了virtio数据平面的硬件卸载。控制平面仍然采用原来的控制平面协议,当控制信息被传递到硬件中,硬件完成数据平面的配置之后,数据通信过程由硬件设备(智能网卡)完成,虚拟机与网卡之间直通。中断信息也由网卡直接发送至虚拟机不需要主机的干预。这种方式,控制面比较复杂,硬件难以实现。
江中散人_Jun
2022/06/30
2.6K0
【重识云原生】第四章云网络4.7.5节vDPA方案——virtio的半硬件虚拟化实现
SDN实战团技术分享(三十八):DPDK助力NFV与云计算
DPDK最初动机很简单,网络处理器的软件解决方案,证明IA多核处理器能够支撑高性能数据包处理。 什么是DPDK?对于用户来说,它可能是一个出色的包数据处理性能加速软件库;对于开发者来说,它可能是一个实践包处理新想法的创新工场;对于性能调优者来说,它可能又是一个绝佳的成果分享平台。DPDK在主流Linux包含,比如Debian, Fedora,Redhat, Ubuntu, FreeBSD。 DPDK代码在www.dpdk.org上自由提交,软件发布时间是1年4次,分别是2017年2月、5月8月和11月。本质
SDNLAB
2018/03/29
3.1K0
NFV中:DPDK与SR-IOV应用场景及性能对比
DPDK与SR-IOV两者目前主要用于提高IDC(数据中心)中的网络数据包的加速。但是在NFV(网络功能虚拟化)场景下DPDK与SR-IOV各自的使用场景是怎样的?以及各自的优缺点?
Flowlet
2022/08/18
1.7K0
NFV中:DPDK与SR-IOV应用场景及性能对比
【重识云原生】第四章云网络4.9.4.1节——智能网卡SmartNIC方案综述
        网卡(Network Interface Card,简称NIC)是将电脑接入局域网的设备,网卡插在计算机主板的总 线插槽中,负责将用户要传递的数据转换为网络设备能够识别的格式,通过网络介质传输。
江中散人_Jun
2022/09/08
2.7K0
【重识云原生】第四章云网络4.9.4.1节——智能网卡SmartNIC方案综述
一文看懂DPDK
从我们用户的使用就可以感受到网速一直在提升,而网络技术的发展也从1GE/10GE/25GE/40GE/100GE的演变,从中可以得出单机的网络IO能力必须跟上时代的发展。
Willko
2018/08/29
66.5K12
软硬件融合技术内幕 进阶篇 (4) ——云计算的六次危机(中)
云计算数据平面发生危机,一般是因为计算机CPU性能的线性增长,难以跟上网络带宽的指数提升,及其带来的“数据中心税”的增加。
用户8289326
2022/12/12
7150
软硬件融合技术内幕 进阶篇 (4) ——云计算的六次危机(中)
【重识云原生】第四章云网络4.7.1节——网络虚拟化与卸载加速技术的演进简述
        近几年,软件定义网络(Software Define Network,SDN)技术的发展与成熟,使得网络虚拟化可以不再基于物理网络设备实现,大大扩展了网络虚拟化的“边界”。需要强调的是,SDN 不等于网络虚拟化,只是SDN 这种技术非常适合实现网络虚拟化。
江中散人_Jun
2022/06/27
1.4K0
【重识云原生】第四章云网络4.7.1节——网络虚拟化与卸载加速技术的演进简述
面向云网络的高性能易扩展NFV技术平台
      为帮助客户快速构建灵活的网络能力,大部分云服务提供商都选择使用他们最擅长的软件的方式来进行支持。沿用通信行业的一种叫法,即是NFV(Network Function Virtualization)。       公有云厂商的NFV主要用于解决以下几类问题。一是多个网络的互联互通问题,例如有物理网络到Overlay网络的互通、异构网络架构之间的互通、公网私网之间的NAT互通等等;二是多个网络之间的路由传递和快速感知,例如复杂冗余组网时局部网络发生故障或变更时的快速网络自愈、异构网络之间的路由传递
鹅厂网事
2020/04/30
2.7K1
金峰:腾讯云下一代高性能网络技术突破口:超稳虚拟化平台和网关的演进
大数据时代带来的数据流动性,对承担数据流动的网络技术带来了新挑战。11月7日,在腾讯云主办的首届Techo开发者大会现场,腾讯云对下一代高性能网络技术进行了揭秘。
Techo
2019/11/13
1.9K0
金峰:腾讯云下一代高性能网络技术突破口:超稳虚拟化平台和网关的演进
推荐阅读
相关推荐
【犀牛鸟论道】揭秘腾讯云网络优化型实例N1:450w PPS网络转发性能如何实现?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档