当前位置:首页 >  IDC >  服务器 >  正文

技术解析:UCloud云主机网络增强特性如何炼成?

 2015-09-19 15:02  来源: 互联网   我来投稿 撤稿纠错

  【推荐】海外独服/站群服务器/高防

摘要:随着互联网深入发展,许多应用程序都需要频繁的交互操作,这让许多单台云主机网络包处理的瓶颈愈发显现,一些增强云主机网络的新特性开始出现,他们优化数据包并发处理的能力,UCloud云主机就是这样一个优秀案例。

引子

随着产品交互需求越来越频繁,数据量也越来越大,高并发成为了一种常态,给网络带来了极大的挑战。特别是,大量频繁用户请求和数据交互、体积小的网络包通信的新业务场景下,单个云主机网络包处理能力已经无法满足需求。

为解决单个云主机网络包处理能力存在的瓶颈,UCloud云主机发布了网络增强新特性,可以支撑数倍在线请求,将单台PPS提高数倍,从而保证网络性能的稳定。

举个例子:就游戏而言,轻微的网络波动就会造成在线玩家掉线和卡顿,单台云主机平均更是有几万的包转发,单台云主机的网络包处理能力明显不足。但是,打开网络增强特性后,对于游戏商来说就能一个区服承载数倍游戏玩家,而对于不注重单机能力的情况也能起到一台顶多台的作用,所以网络增强特性不仅可以提高单台主机的包处理能力,还能减少云主机的部署数量与相应的成本。

初识网络增强

那么,UCloud云主机网络增强特性具体能为高包量并发的数据处理带来哪些优化呢? 在介绍UCloud云主机的网络增强新特性,先介绍数据包和并发的概念,了解一条消息的旅程:

包(Packet),是TCP/IP协议通信传输中的数据单位,一般也称“数据包”。在网络中,数据被划分为多个数据包,这些包沿着不同的路径在一个或多个网络中传输,在传输的路途上,每个小数据包还可能会被继续分片。当这些小数据包到达目标机器时,他们会被重新拼装到一起。

简单的说,用户浏览网页、打开App、玩联网手机游戏,实际上就是数据包的交换,因为这些简单动作背后,你完成了给网站发送数据包,而网站接收到了之后,根据你发送的数据包的IP地址,返回给你网页的数据包这两个过程,即数据包的交换。

并发,在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行,即两个或多个事件在同一时间间隔内发生。

简单的说,当春运期间,12306网站开放购票,1秒内10000个人点击购买按钮,此时12306网站服务器就收到了10000个并发请求。

UCloud云主机的网络增强新特性,优化的就是数据包并发处理的能力,打开网络增强配置,创建的新主机可以拥有网络高包量多队列并发特性,使带宽能力大幅提升,能并行处理和接受批量连接的报文,极大提升了虚拟机的包处理能力。

技术实现

云主机的网络增强特性,利用的是网卡多队列特性,让多核CPU配合多队列网卡驱动的支持,将各个队列通过中断绑定到不同的核上,使得CPU的各个核实现并发收包,所以在网络流量大的时候,数据包可以被分散到各个核上,避免了CPU成为瓶颈的尴尬。

那多队列网卡特性又是如何实现的呢?事实上,以往的内核是不支持多队列的,而不支持多队列的内核中的每个网卡都拥有一个排队的规则,根据排队规则的过滤器将数据包区分为一个个类,类中还可以嵌套新的更细的排队规则,但这种以网卡为中心的方式实际上不适应如今的网络应用,从而诞生了多队列特性的网卡。

实现了多队列的网卡图示如下:

数据被划分为数据包在网络传输,到达目标机器时,先通过网卡转发给内核,内核包括驱动和内存,最终到达CPU,CPU对数据包进行处理。对于普通的云主机来说,网卡只有一个根队列,所有的数据包进来都要进入这个根队列进行排队,由一个CPU进行处理。所以当数据量大的时候,就会造成瓶颈,以致CPU来不及处理数据包,最终导致丢包。

而多队列网卡是一种技术,将各个队列通过中断绑定到不同的核上,实现了多队列,就不再逼迫数据包强挤到网卡的根队列进行排队,使得每个网卡拥有很多的根队列,甚至每个应用一个队列都有可能,从而增强并发处理能力,使带宽能力大幅提升,能并行处理和接受批量连接的报文,极大提升了虚拟机的包处理能力。

实现上,我们主要是通过负载均衡方法论,升级宿主机和虚拟机操作系统Linux 的内核,实现对网卡驱动多队列的支持,并利用多核CPU的性能,让原来的一个队列变成四个队列,使得数据包的调度变得更加有效,同时也由多个CPU进行处理,从而提升并发处理的能力。

(注:目前只支持在部分Linux发行版4核CPU以上的标准机型上开启。)

性能测试

对于UCloud云主机网络增强的性能,我们也进行了测试。主要是通过使用通用网络性能测试工具netperf对UHost标准版机型在是否开启网络增加配置的两种情况下进行网络性能测试得到的结果,最新的测试数据如下图所示(鉴于是测试环境,该数据仅供参考):

图解:

1. ucloud-yg: 未开启网络增强的云主机

2. ucloud-gre: 开启网络增强的云主机

3. 未标注的数据为业内其他云主机

经过测试,网络增强配置的特性,会让带宽利用率更是大幅提升,内网带宽接近4Gb/s,是业内平均水平的7倍以上。

经过测试,网络增强配置的特性,可以极大的提升包处理能力,是业内平均水平的3倍以上,最大包吞吐能力高达18万。

(注:相关测试数据见链接)

总结

本文简单的介绍了利用多队列网卡特性使得云主机拥有网络高包量多队列并发特性的实现过程。希望通过分析数据包传输路径以及处理过程让大家直观的看到,UCloud云主机网络增强新特性带来的高包量并发处理能力的提升。

未来,UCloud还会对网络增强配置进行升级,随着硬件提升和可能的内核优化,高包量处理能力还将有持续提升空间。希望此特性能够满足新场景下通讯频繁、数据包体积小但数量大的新需求。

申请创业报道,分享创业好点子。点击此处,共同探讨创业新机遇!

相关文章

  • 2023年国内外主机VPS服务器618年中大促活动大盘点

    “618”年中购物节可以说是一年一度的大型促销活动,商家往往会推出各种优惠惊喜,如爆款低价秒杀、充值送现金、多年购买优惠、大额折扣等等,切实为消费者带来超值优惠和折扣。本文罗列了一些国内外知名主机商发布的618年中大促活动,下面一起来看下相关活动内容介绍。一、RAKsmart爆款服务器$30秒杀新人

    标签:
    云主机
  • 弹性云主机有什么优势?

    弹性云主机,就是我们常说的云服务器。简单地说,弹性云主机,是指运行在云计算环境中的虚拟服务器。弹性云主机可以说是虚拟专用服务器(VPS),但VPS却不能说是云服务器。这是因为两者有着本质的区别。VPS只能存放在单个硬件服务器中,从而在任何硬件故障时极容易造成单点故障以及随之而来的服务中断。弹性云主机

    标签:
    云主机
  • 浅谈云服务器有哪些优点?

    目前,云服务器大有赶超虚拟主机、VPS和传统物理服务器,成为最具潜力占领互联网服务托管平台市场最大份额的新兴IT部署模式。最近,各大云服务商纷纷推出低价云服务器、免费试用、免费领取等活动,并在各大媒体投放大量广告,谋求占据更高的市场份额。那么,云服务器到底有哪些优势?归根到底,云服务器是将硬件资源放

  • 3步就可以搭建ChatGPT网站,体验UCloud轻量应用云主机

    最近,UCloud优刻得面向中小企业和个人开发者推出了一款全新产品——轻量应用云主机(ULightHost),这是一款轻量级的云服务器产品,它将云服务器资源打包成开箱即用的产品套餐,提供便捷高效且高性价比的云端构建服务。我试了一下,用UCloud优刻得轻量应用云主机,可以搭建和体验当下最火的Chat

    标签:
    云主机
  • 选择云服务需要考虑哪些因素?

    作为云计算技术落地的重要基础设施成果,云服务器近年来获得的飞速发展有目共睹。云服务器需求量的激增引发行业竞争的加剧,甚至很多服务商将VPS更名为云服务器混淆视听,滥竽充数。为保证我们互联网服务的正常创建和运行,优质的云服务器是基础保障,那么选择云服务器要考虑哪些因素呢?一、你的网站目标群体你的网站目

热门排行

信息推荐