服务器DPDK l3fwd性能测试

服务器DPDK l3fwd性能测试,第1张

由于项目中需要用到dpdk,当时在服务器平台选型上有如下2种不同配置可供选择,为了理解老的Xeon处理器和Xeon金牌处理器对DPDK转发性能的影响,需要在两台服务器上分别进行DPDK l3fwd性能转发测试。

采用如下拓扑进行测试,测试仪的4个10GE端口连接X710-DA4的4个接口,测试时测试仪的4个端口同时打流,经过服务器DPDK转发后分别从X710-DA4网卡的不同接口送出,在测试仪的4个端口查看是否有丢包。在无丢包的情况下测试仪端口打流的最大速率即为服务器端DPDK能够提供的最大转发能力,以MPPS为单位。

(1) 在服务器上运行dpdk

./examples/l3fwd/x86_64-native-linux-gcc/l3fwd -l 4,6,8,10 -n 4 -w 0000:04:00.0 -w 0000:04:00.1 -w 0000:04:00.2 -w 0000:04:00.3 -- -p 0xf --config="(0,0,2),(1,0,4),(2,0,6),(3,0,8)"

运行l3fwd前有一些准备工作:

上述是DPDK官方的性能测试报告中建议的BIOS配置,在实际测试用我没有修改CPU C-state和P-state,并关闭了超线程的功能。

也可以通过 cat /sys/class/net/p6p1/device/numa_node 查看

在上述操作完成后便可以知道dpdk运行时应该设置参数。

(2)测试仪打流

在l3fwd运行起来后,会添加192.18.0.0/24、192.18.1.0/24、192.18.2.0/24、192.18.3.0/24四个网段的路由,因此在测试仪端4个端口设置流的时候需要将流的目的IP地址分别设置为上述4个网段的地址,流的目的MAC地址设置为对应接口的MAC地址。

上述的DUT2对应Server01,DUT3对应Server02,DUT1的性能数据和配置是从DPDK的性能测试报告中拿到的。DUT1、DUT2和DUT3的配置对比如下。

从测试结果可以看出,DUT3上运行DPDK就能够实现64字节数据包的线速转发。对比DUT2和DUT3的转发性能可以看出,基于 Xeon Gold 5118处理器的平台相比老的Xeon处理器平台,转发性能是有一定提升的。

当然,从我个人的理解来看,现在的转发测试只是测4条路由表的情况,路由表均能够存放到处理器的一级cache中,没有大规模内存访问的压力。如果有大规模的路由表或者服务器上多个网卡同时收发数据,并且涉及到跨网卡之间的数据包转发,当前的服务器能否实现性能的线性扩展还需要后面进一步测试。

作者:张泽华

来源:知乎

业务需要

1.为什么说是业务需要?

——先来了解下阿里在上线AliDNS之前已经做了哪些事儿。

阿里的架构变迁可以说是针对业务的一次完整进化。从最初的单台服务器跑起少量的业务开始,到今年571亿的双十一绝不是一蹴而就的。作为一家较大的电商网站在互联网应用系统中要面对极多问题:高并发,高可用,安全环境较差,客户分布广泛,网络环境较为复杂等等。

为满足复杂的需求,网站的架构逐渐从单机服务演进到:前端是各地的CDN服务器集群,连接各反向代理服务器集群,连接负载均衡服务器集群,接下来将访问请求转到按照业务划分的应用服务器集群上,通过消息队列集群传到分布式服务集群上,然后通过缓存或一致性数据访问模块连接到数据源:分布式缓存、分布式数据库、分布式文件集群,外加NoSQL和搜索引擎服务器等等。

<img src="https://pic2.zhimg.com/87d8e3e02b9df4dc580557db127b4b0d_b.jpg" data-rawwidth="1201" data-rawheight="750" class="origin_image zh-lightbox-thumb" width="1201" data-original="https://pic2.zhimg.com/87d8e3e02b9df4dc580557db127b4b0d_r.jpg">/*/*大致就这么个意思,尤其突出了DNS的作用*/

架构演进到这里不难发现有两个明显的特点:分层化和分布式。优秀的工程师们将这种能够应对复杂业务逻辑和数据处理的海量数据和高并发的架构进一步设计为平台化的方式,不仅能够服务当前企业,还能够将资源作为一种产品出售,这样让各类小型网站享有架构便利性的同时只要按需付费即可。这样,阿里云就诞生了,其实它是技术演进过程中的一个必然产物,这也不难理解Google、Amazon、Alibaba等超大规模互联网公司对外提供的云计算服务。

DNS服务是将阿里的域名解析成IP地址,不仅可以利用DNS实现DNS的负载均衡,并且在配置运营商CDN机房时也是重要的一部分。DNS技术属于前端架构甚至更前的一部分,不难看出一个大型网站在提供好扎实的应用层和数据层服务后亟待解决的是访问的问题,访问安全问题也是伴随着要解决的问题之一。

所谓访问的问题:

<1.能够保证客户顺利的连接上网站

<2.能够保证整个过程的安全

<3.快

2.DNS服务了什么?

贴一下阿里DNS的自我介绍:阿里DNS

阿里公共DNS简介

阿里公共DNS是阿里巴巴集团推出的DNS递归解析系统,目标是成为国内互联网基础设施的组成部分,面向互联网用户提供“快速”、“稳定”、“智能”的免费DNS递归解析服务。

一、DNS简介

DNS是互联网上存储域名与IP映射关系的一个分布式数据库。使用DNS,用户可以方便的用域名访问互联网,而不用关心复杂难记的IP地址。通过域名获取对应IP地址的过程叫域名解析。

域名解析一个相对复杂的过程,需要多个环节,遍历多个DNS服务器,才能获取域名的IP地址。解析过程见下图:

二、用户使用DNS面临的问题

从域名解析过程可以看到,用户打交道最多的就是Local DNS,它负责接收用户的请求,代替用户遍历其他DNS服务器,获得结果后返回客户,并做一定时间的缓存,在下次请求时直接应答。

大部分用户使用的Local DNS是用户在接入网络时由ISP自动分配的。存在几方面问题:

三、阿里提供公共DNS服务的优势四、阿里公共DNS的特点

快速:

稳定:

智能:

结束语

阿里公共DNS的目标是成为国内互联网基础设施的组成部分,为国内互联网的健壮、稳定、快速贡献我们的力量。

结合阿里优质CDN资源和精准的IP地址库,让用户访问到较近的网站。

异地多机房高可用架构。

基于DPDK自主研发的高性能DNS系统。

Aliguard多种攻击防御策略。

持久化保存热点记录,当“根”或域名的权威DNS出现异常后,阿里公共DNS具备快速恢复正常访问的能力。

通过BGP anycast技术,让用户访问到离自己较近的DNS集群。

主动同步com/net域名、万网注册域名的变更,减小ttl时间的影响,快速访问到正确的记录。

主动缓存热点域名的,提高查询CACHE命中率,减少递归过程,快速应答。

阿里在全国有优质的机房、网络、带宽等互联网基础设施资源。

阿里建设和运营着全国最大的CDN网络,对互联网流量调度有丰富的经验。

阿里旗下万网是国内最大的域名注册商,管理着几百万域名。同时有丰富的DNS管理经验。

阿里拥有大量优秀的技术人才,有非常强的自主研发能力和运维保障能力。

首次查询或缓存过期后的查询,需要遍历多个互联网上多个DNS才能得到结果,查询时间较长,影响用户的访问速度。

域名解析的环节较多,其中任何一点出现问题,都可能会导致解析异常,进而影响用户对互联网的访问。

Local DNS会对获取的结果做一定时间缓存,当域名管理员对域名对应的IP地址调整后,Local DNS不能马上感知,还会用缓存中老的地址应答,可能导致访问出错。

当前互联网上CDN很多都是根据Local DNS的地址来调度。有些ISP的Local DNS并不直接去递归解析,而是转发到其他Local DNS上,可能导致CDN调度不准确,使用户不能访问到最快的站点。

ISP不是专业的DNS服务商,提供的Local DNS可能出现性能、稳定性等方面的问题。另外,日益频繁的DNS攻击,也会导致Local DNS出现宕机、劫持等情况。这些都会影响客户的上网体验。

部分ISP通过DNS劫持做广告植入,给用户带来较差的体验。

简单翻译一下就是:

<1.我家DNS速度快。| 特别是保证秒杀反应快

<2.域名解析到我这里靠谱。| 特别双十一不瘫痪

<3.我的数据更新快。

<4.根据我的GeoDNS能够知道你到底是从哪里访问的,给你一个最快的服务器服务。

<5.我的DNS特别稳定。

<6.有些无良的DNS提供商会给你乱装软件,乱弹窗口,卖假药什么的。

调侃一句:如果说下一步阿里要做什么,估计是要自己做Tier 1运营商了。

------------------------------------------------插入点技术部分-----------------------------------------------------------

DNS迭代,递归查询是啥?

出于资源消耗和响应速度的综合考虑,一般来说从主机到本地DNS服务器是递归查询,从本地DNS到其他DNS服务器是迭代查询。

详细解释:DNS 查询的工作原理

BGP anycast是啥?

从域名可以解析出来很多个主机IP地址对应,那DNS服务器只有一个IP地址可不是只有一台。为了让一个IP地址对应分布在各地的多台DNS服务器,采用anycast(任播)将数据发送到一组目标节点上,通过路由协议选择"路由矢量最近点"提供“最快”的服务。可以应对DOS攻击和网络拥塞。

主动同步万网注册域名是啥,其他能同步吗?

万网被阿里买下了,内部数据同步下快还不行么。其他时限不一定,看同步间隔。

--------------------------------------------------------------------------------------------------------------------------------

业务拓展

从阿里云在阿里中的技术和商业定位中可以看出:

为了满足自身电商等业务的正常运行和服务

为了让云计算资源作为服务型商品卖掉(剩余资源的充分利用,在固定投入不变的情况下的单位效率提升)

重点说第二点,云计算资源的服务。

<img src="https://pic3.zhimg.com/c5cc16cb8936db36439d927690df1b12_b.jpg" data-rawwidth="587" data-rawheight="418" class="origin_image zh-lightbox-thumb" width="587" data-original="https://pic3.zhimg.com/c5cc16cb8936db36439d927690df1b12_r.jpg">

一个典型云计算平台具有的几大功能阿里云都已具备(前些时间还有让人眼前一亮的渲染云之类的服务)。但在这个列表中唯独陱的一部分就是关于域名注册和解析相关的服务,因为不论是怎样架在网络上的服务,最终让用户访问时多半不会使用单纯的IP地址的形式,而会是域名的转义。于是乎,阿里拿下了万网(中国万网是中国域名注册服务的先行者、中国虚拟主机服务的开创者、中国企业邮箱服务的领先者和中国网站建设服务的创新者。【摘自百度百科】)填补了一些域名注册解析相关的服务内容。但万网来做解析的实力和能力只是有限的,还远远不及真正网络解析的要求。下面扯一点关于域名解析的过程:

一般来讲,DNS解析是在BIND服务上演化而来,采用的是基于域的层级命名方案,这就意味着,域名解析的过程相当于查询了一个全球范围的分布式数据库系统。从上文的引文DNS 查询的工作原理可以知道,有几类域名服务器:根名称服务器RD,顶级名称服务器TLD,权威名称服务器AD,本地名称服务器LD。而阿里云收购的万网的服务器算是AD服务器只能保证一定范围内的域名解析。尤其是声明转入到万网解析范围的域名还有阿里云自营的虚拟主机和VPS的地址解析。但阿里云想要的远不止这些:

前面也提到的快速安全的访问在当前中国几大ISP的管控下谈安全快速访问就是扯淡。扯淡对普通百姓来说可能感觉就是右下角总是弹窗,或者说你家路由器不能用,或者说这个知名网站又打不开了,或者说“咦,电信那边的网站怎么被屏蔽了?”大家互相扯皮和撕逼倒是正常的,但是人家阿里的生意还是要好好做的,不能在这欢乐的撕逼战中成为炮灰,或者是在无限的弹窗中链接跳转到的某某其他购物网站,马总的想法是让天底下没有难做的生意,我阿的访问要成问题我还让我商家的生意怎么做?

另外作为一个需要VPS服务的程序猿,当我开心的在万网买了域名,备了案(假如我有一天会这么做了)发现在家苦等1天还没生效的时候,你下次还敢买这里的域名,用这家的云计算服务么?其实人家阿里万网挺无辜,在万网的服务器上都是秒级的事儿,但是你懂得的原因就是没有生效。这时候你是不是很期待阿里一统天下的ISP?什么?嫌贵,那你告诉我正在用的2MADSL每月150CNY是什么。。。

如果有幸你能知道有个东西叫DNSSEC,那么恭喜,你又发现一个重大安全隐患。简单来说这个东西就是一部分解决你的DNS查询中的DNS的欺骗和缓存污染问题。除了DNSSEC区域签名以外,云计算服务供应商们还必须在客户用于名称解决方案的递归解析程序中打开DNSSEC验证。

<img src="https://pic3.zhimg.com/100030fa072551a915f6e0f8459c9d02_b.jpg" data-rawwidth="612" data-rawheight="312" class="origin_image zh-lightbox-thumb" width="612" data-original="https://pic3.zhimg.com/100030fa072551a915f6e0f8459c9d02_r.jpg">

附上一份我国实施DNSSEC的文件网址:http://www.ccsa.org.cn/publish/download_bp.php?stdtype=yd1&sno=112

================================================================

====================修正后的答案======================================

请不要尝试Baidu DNS. 亲测安装XX卫士,XX广告.不信自己去试。。/*别问我怎么知道的*/

http://dudns.baidu.com

PS.目前宽带运营商普遍采用“HTTP 劫持”而不只是“DNS 劫持”,所以即便换了 DNS 服务器,该弹广告时还是会弹广告,目前用户除了向运营商和工信部投诉之外似乎无解。

PSS.一篇来自乌云社区的帖子,看看就好:百度有钱联盟利用IE漏洞推广安装软件

================================================================

编辑于 2014-12-15

郑叔叔

@张泽华

的答案很详细!

尾部提到的HTTP劫持,我们网站的做法是启用CSP,能起到一定作用。

编辑于 2015-02-20

知乎用户

可惜,你们永远也不知道,有一个东西叫做 AIXYZ DNS 。谁用谁知道。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/551571.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-06-28
下一篇2023-06-28

发表评论

登录后才能评论

评论列表(0条)

    保存