腾讯云首次公开:第二代云服务器的独门秘籍

企业动态
腾讯云基础产品团队:继承腾讯内部沉淀十多年的虚拟化、计算、网络、存储等基础能力,深度开发KVM和SDN网络虚拟化等底层技术,开发高可用块存储和容器服务,为业界打造一系列高可用高性能的弹性云产品,以及覆盖互联网和传统行业的综合解决方案。

腾讯云基础产品团队:继承腾讯内部沉淀十多年的虚拟化、计算、网络、存储等基础能力,深度开发KVM和SDN网络虚拟化等底层技术,开发高可用块存储和容器服务,为业界打造一系列高可用高性能的弹性云产品,以及覆盖互联网和传统行业的综合解决方案。

近日,腾讯云在业内率先发布第二代云服务器CVM2.0,内测一发布,就引来多家大企业争相申请,第二代云服务器的强大之处是什么?究竟为何获得企业的青睐?应大家的要求,腾讯云基础产品团队首次公开亮相腾讯云第二代云服务器的独门秘籍。

首先谈谈第二代云服务器的优势,为了解决用户对计算网络能力的强需求,腾讯云第二代云服务器软硬件全面升级,第二代云服务器采用最新一代Intel v4 CPU,CPU性能最高可提升40%;搭配DDR4 内存,内存性能提升30%;其中搭配网络增强版的高 IO 型/计算型实例,包转发率(PPS)翻倍最高可达40w。

相比于前一代机型使用的Intel v3系列,第二代云服务器采用Intel v4的CPU架构,整体性能大幅提升。同时更有高主频的计算型,CPU主频高达3.2GHz,搭配网络增强型,显著降低机器负载,提升计算和网络性能,提高业务的流畅度。

接下来谈谈第二代云服务器具体的4项软硬件配备:

一、3.2GHz超高主频计算型

第二代云服务器推出CPU主频为3.2GHz的超高主频的计算型云服务器,是行业中推出的最高主频服务器,满足了众多行业如游戏、移动等高计算性能要求,计算能力爆表,游戏玩家永不掉线。

二、CPU、内存硬件能力齐提升

二代机型采用Intel v4的CPU架构,而一代机型使用的是Intel v3的CPU架构,Intel官网发布,v4架构相对于v3架构整体性能较大提升。二代机型对内存4通道的特性做了相应适配后,相对于一代机型实测内存带宽,提升约50%。

如此大的性能提升,价格提升却不到10%,在同类型云服务器中性能最高,具有极优性价比。

CPU性能数据: 

内存性能数据:

三、网卡多队列优化,包转发率爆表

随着网络IO带宽的不断提升,单核CPU不能完全满足网卡的需求,通过多队列网卡驱动的支持,将各个队列通过中断绑定到不同的核上,以满足网络带宽的需求。同时,也可以降低单个CPU的负载,提升系统的计算能力。

单队列的瓶颈在哪?下面我们先分析下单队列和多队列的基本原理。

kernel从内核版本2.6.21之前不支持多队列特性,一个网卡只能申请一个中断号,因此同一个时刻只有一个核在处理网卡收到的包,如图1所示,协议栈通过NAPI轮询收取各个硬件queue中的报文到图2的net_device数据结构中,通过QDisc队列将报文发送到网卡。

图1   2.6.21之前内核协议栈

图2  2.6.21之前net_device

内核版本2.6.21开始支持多队列特性,当网卡驱动加载时,通过获取的网卡型号,得到网卡的硬件queue的数量,并结合CPU核的数量,最终通过Sum=Min(网卡queue,CPU core)得出所要激活的网卡queue数量(Sum),并申请Sum个中断号,分配给激活的各个queue。

如图3,当某个queue收到报文时,触发相应的中断,收到中断的核,将该任务加入到协议栈负责收包的该核的NET_RX_SOFTIRQ队列中(NET_RX_SOFTIRQ在每个核上都有一个实例),在NET_RX_SOFTIRQ中,调用NAPI的收包接口,将报文收到CPU中如图4的有多个netdev_queue的net_device数据结构中。

这样,CPU的各个核可以并发的收包,就不会应为一个核不能满足需求,导致网络IO性能下降。

图3   2.6.21之后内核协议栈

图4  2.6.21之后net_device

当采用单队列模式进行网络处理时,不能实现并行处理,网络带宽无法上去。当应用多队列技术后,在网卡和驱动层均是多队列,每个队列对应不同的网卡中断,这样多个cpu能并发的处理网络报文,提升性能。

二代机型不但将多队列技术应用在宿主机上,而且成功的将该技术应用到了客户机上,实测(1000M网卡、宿主机48core、客户机12core)最高可以达到40w pps(256B)的网络流量,超高的包转发率,满足更多客户同时在线。

四、高精度时钟源性能优化 优化业务流畅度 

腾讯云提供业内最优秀的游戏解决方案。游戏服务器典型特征是大量网络流量和大量CPU运算。为提供更加优质的游戏解决方案,我们在细节之处作足优化以提升客户业务流畅度。 

在实时类的游戏中,游戏服务器会进行大量时间度量以实现更好的游戏效果。这类服务器大部分使用 Windows Server。在Windows下,进行精确时间度量首选API 是 QueryPerformanceCounter ,这个在游戏编程中非常普遍。另外,系统自身也到处使用这个API,以进行性能相关的统计,所以提升虚拟化环境下对该API的支持,会整体提升虚拟主机的性能。

主流的虚拟化平台,比如KVM 和 XEN, 对这个API 的传统处理流程如下图所示:

虚拟化实现对API 的支持,需要从子机 VM_EXIT 到母机,母机填充数据后再VM_ENTRY 回到子机。这样增加了虚拟机退出的流程,而虚拟机退出是虚拟化要极力避免的事情。退出越多,性能越差。

腾讯云的Windows主机针对上述问题,进行了专门的优化,获取效率非常高。改进后API 完全在子机内部完成,不需要退出到母机,性能大幅提高,优化效果显著。

调用QueryPerformanceCounter API 的速度提升约20倍,网络高负载下,CPU 利用率降低约 30% 。为这个优化非常适合游戏服务器,可以显著降低机器负载,提升性能,提高游戏流畅度。

调用 QueryPerformanceCounter 1000万次,耗时仅需要1985ms,属业界领先 。

综上,第二代云服务器在软硬件上的技术创新,从根本上加速了企业应用云计算的和效率,将全行业的运算性能提升到了一个全新的台阶。

 

责任编辑:润月 来源: 51CTO
相关推荐

2019-10-08 11:49:06

第二代云计算多云

2019-09-30 07:10:08

第二代云计算IT专业人员

2010-04-27 10:35:28

Windows家庭服务

2010-01-27 18:12:55

2016-08-23 17:58:22

2014-10-15 13:35:38

思科UCS

2012-05-15 18:04:57

Trinity

2009-02-13 16:54:50

EMCSSDSymmetrix

2010-02-22 18:02:26

2013-12-12 15:36:35

亚马逊

2019-10-28 17:16:05

AMDEPYC

2011-12-11 23:19:21

2013-05-03 09:44:02

Surface平板

2015-02-02 13:15:59

2011-08-30 17:29:55

2012-08-08 11:02:54

Surface微软

2012-05-08 13:18:42

流控引擎流控

2013-04-19 11:08:57

E-Band微波LTE移动通信网络

2014-10-30 09:40:13

2021-04-20 10:30:43

区块链安全互联网
点赞
收藏

51CTO技术栈公众号