学习
实践
活动
工具
TVP
写文章
专栏首页腾讯云开发者社区头条腾讯云超高网络性能云主机揭秘
原创

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

随着机器学习,网络游戏,电商抢购等应用的大规模爆发,公有云用户对虚机网络性能要求迅速提高。腾讯云推出网络优化型实例,实现最高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 删除。

登录 后参与评论
0 条评论

相关文章

  • 腾讯云虚拟网络架构揭秘

    我是腾讯云网络产品中心的工程师我叫王营。今天主要介绍腾讯云整个技术架构,将从虚拟网络数据平面、控制平面,包括VPC网络监控等各方面,来给大家做一个全面的介绍,让...

    腾讯云开发者社区
  • 直播预告 | 腾讯云 Kubernetes 高性能网络技术揭秘

    云原生学院邀请腾讯云后台技术专家范建明为大家分享《腾讯云 Kubernetes 高性能网络技术揭秘》 直播信息 •讲师:范建明(腾讯云后台技术专家)•时间:20...

    腾讯云原生
  • 腾讯云-云主机弹性伸缩

    本文提供视频讲解,详细见地址:https://www.bilibili.com/video/BV1iv411v7xm

    研究僧
  • 7·23腾讯云原生技术开放日|揭秘容器网络性能提升40%

    感谢博文视点、图灵出版社编辑们的倾情赞助 Docker及Kubernetes权威技术书籍,等待活动当天积极参与互动的你来~ 扫描二维码,添加小助手(微信号:T...

    腾讯云原生
  • 腾讯云-云主机购买正确姿势

    经过排查最终的原因是因为用户购买云主机时使用的按量计费模式 ,当账户中的余额被直播服务扣费为负时,账户下按量计费的产品如刚说的云主机就会在最近一次结算时扣费失败...

    研究僧
  • 腾讯云CDB/CynosDB技术揭秘

    数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增、截取、更新、删除等操作。所谓“数据库”系以一定方式储存在一起、能予以...

    云大学小编
  • 高性能 AMD 云主机如何选?AWS、谷歌云、UCloud、腾讯云测试大 PK

    近年来,在云计算、大数据和人工智能等技术的快速发展下,数据中心的计算能力也面临着越来越高的挑战。就数据中心的 CPU 处理器选择而言,AMD 因其最新一代 EY...

    用户8639654
  • 购买主机-购买腾讯云主机

    购买主机,如何购买腾讯云主机?腾讯云主机即腾讯云服务器,购买主机后就可以在上面建立网站,小程序,APP应用等等。腾讯云主机是非常稳定的云主机,并且价格优惠便宜,...

    用户1361591
  • 腾讯云优惠-腾讯云专用宿主机 CDH 优惠

    专用宿主机(CVM Dedicated Host,CDH)提供用户独享的物理服务器资源,满足您资源独享、资源物理隔离、安全、合规需求。专用宿主机搭载了腾讯云虚拟...

    用户5900342
  • 云服务器 - 腾讯云主机信息

    无意间发现腾讯云服务器有个 云+ 校园 活动, 每月10 块钱一台 1 核 2 G 服务器, 还算比较划算,(其中错过了, 腾讯云修改配置可以360元五年 1核...

    AIHGF
  • 高性能 AMD 云主机如何选?AWS、谷歌云、UCloud、腾讯云测试大 PK | 技术

    近年来,在云计算、大数据和人工智能等技术的快速发展下,数据中心的计算能力也面临着越来越高的挑战。就数据中心的 CPU 处理器选择而言,AMD 因其最新一代 EY...

    用户8639654
  • 如何使用腾讯云提供的云主机

    下载PuTTY这个远程登录软件,host name输入腾讯云自动分配的IP地址,端口号22:

    Jerry Wang
  • 如何使用腾讯云提供的云主机

    版权声明:本文为博主汪子熙原创文章,未经博主允许不得转载。 https://jerry.bl...

    Jerry Wang
  • 腾讯云上 Winpcap 网络编程四之主机通信

    由于腾讯云上提供了Windows系统,所以我们这次Winpcap编程选用腾讯云主机实验,让大家简要了解两台云主机的通信方法以及实践过程。

    崔庆才
  • 如何极度压榨网络性能:揭秘 UCloud 的物理云网关

    近些年来,云计算蓬勃发展,上云成为现在软件开发落地的首选。但随着企业业务的不断增长和扩大,传统云计算的劣势也暴露出来:单体硬件性能不够,只能堆集群;租户隔离不够...

    SDNLAB
  • 腾讯云 TDSQL 审计原理揭秘

    在云服务时代,打造一款同时具备了开源数据库的性价比和商业数据库的安全性的数据库,几乎是所有使用者心中的梦想。腾讯云数据库 TDSQL 基于这样的考虑,实现了云化...

    腾讯云数据库团队

扫码关注腾讯云开发者

领取腾讯云代金券