前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >性能报告之路由器性能benchmark评估

性能报告之路由器性能benchmark评估

作者头像
高楼Zee
发布2019-07-17 18:10:22
3.2K1
发布2019-07-17 18:10:22
举报
文章被收录于专栏:7DGroup

前言:

本报告目的是测试企业内部用的TP-LINK TL-R478G+的性能,是标准的benchmark过程。

这个路由器市场价600块钱左右,定位是中小企业内部使用。

如果是做骨干网级的高端网络设备测试,还有高端的大型硬件网络测试仪。

对于网络设备的测试,在选型、验收这样的目标下,可以参考这篇文章。

正文:

  • 1. 性能测试目标

测试路由器的如下性能能力:

WLAN->LAN包转发性能。

WAN->LAN单工吞吐量。

LAN->LAN单工吞吐量。

LAN->LAN双工平均吞吐量。

  • 2. 术语和缩略语

术语/缩略词

说明

包转发率

单位是pps(包每秒),每秒钟路由器能转发的数据包的数量

吞吐量(带宽)

待测对象所能达到的最大数据传输速率。单位:Mbps

  • 3. 测试环境

网络设备

带宽

型号

路由器

1000M

TP-LINK TL-R478G+

  • 4. 测试工具

名称

说明

IxChariot 6.70

业界著名的多功能网络业务测试软件

Endpoint 7.10

充分利用运行主机的资源,执行Chariot控制台发布的Script命令,从而完成需要的测试

  • 5. 测试执行与结果
    • 5.1. WAN->LAN包转发性能

5.1.1.测试目的

获取待测路由器Wan->Lan所能达到的最大包转发率

5.1.2. 测试拓扑

5.1.3. 测试条件

性能指标

测试条件设置

包转发率

多条规划,不同数据包大小数据包:64B、128B、256B、512B、1024B、1514B多条规划:100规则协议:TCP

5.1.4.测试方法

测试脚本采用High_Performance_Throughput,Pair数量为100,Pair数量被设定在100是因为我们在测试中发现一个现象,比如,我们在测试1514B大小的数据包吞吐量时,一个Pair可能只有20Mbps左右,但随着Pair数量的增加,吞吐量也会随之上升,并最终达到吞吐最大值,Pair继续增加,吞吐量也不会出现大的变化。使用100Pairs还有另外一个效果,多Pair在Netstat中看到的效果就是多TCP连接数,在多连接数下,高强度的吞吐测试对设备性能和稳定性都是一个考验。

包转发率公式如下:

(Mbps + 6Mbps) / 8 / (64B、128B、256B…1514B +20B) = Mpps * 1000000 = pps

Mbps指的是路由器的设计带宽,除以8是将bps转化为Byteps,64B指的是以太网最小数据包的大小,20B是每个数据包在传输时的固定损耗,另外,要说明一下,这20B的损耗通过抓包工具是无法捕获的。

我们再来看一下pps这个计算公式的计数单位是“个”,因为在1000Mbps除以8之后,此时计数单位就是Byte每秒。再用Byteps除以Byte,所得到的就是pps,第一个p也就是包(package)的意思。包转发率的概念是一个“以数量为基础的概念”,通俗的讲,就是一个以“个”为单位的概念,10pps指的就是每秒转发了10个数据包。

接下来我们反着看一下pps的计算方法,1000Mbps / 8 / (64B+20B)=1.488Mpps。如果我们使用的数据包大于64B会如何?假如是128B,那公式将会变成这样。1760Mbps / 8 / (128B+20B)=1.488Mpps,但我们知道,千兆路由器的设计宽带极限是1000Mbps,不可能超过这个数值,所以如果计算千兆路由器的128B数据包转发率,结果应该是1000Mbps / 8 / (128B+20B)=0.8446Mpps。结果与1.488Mpps相差甚远,这说明产生了传输瓶颈,瓶颈来自于千兆路由器的设计标准,而非来自于包转发性能。

5.1.5.测试步骤

a) 按网络拓扑图进行部署;

b) 配置Console测试IP;

c) 测试脚本采用High_Performance_Throughput,Pair数量为100,数据包大小分别设置为64B、128B、256B、512B、1024B、1514B;

d) 循环执行测试脚本;

e) 测试完毕,记录每一次结果;

5.1.6.测试结果

100Pairs吞吐量测试结果:

1> 这是在64B数据包下测试的结果:6.744Mbps

2> 这是在128B数据包下测试的结果:13.316Mbps

3>这是在256B数据包下测试的结果:26.292Mbps

4>这是在512B数据包下测试的结果:51.884Mbps

5> 这是在1024B数据包下测试的结果:84.536Mbps

6>这是在1514B数据包下测试的结果:84.637Mbps

  • 5.2. WAN->LAN单工吞吐量

5.2.1. 测试目的

获取待测路由器Wan->Lan所能达到最大吞吐量

5.2.2.测试拓扑

5.2.3.测试条件

性能指标

测试条件设置

单工吞吐量

多条规划,大数据包数据包大小:1000KB多条规划:10规则协议:TCP

5.2.4.测试方法

测试软件还是使用IxChariot,测试脚本采用Throughput,Pair数量为10。对Throughput脚本进行修改,我们设置让Endpoint1-> Endpoint2发送大数据包,Pair数量被设定在10,这是因为对于网络情况不稳定、经常出现速度波动的情况来说,在某一时刻测量速度存在一定的不确定因素,我们采用科学测量法来解决这个问题,即采用平均值的方法。将所有测量值汇总在一起可以得到更接近真实数值的结果。

虽然我们可以通过科学测量法减小误差,但由于默认数据包仅为100KB,所以总的数据检测量相对较小。对于带宽比较大的情况,例如100Mbps以上的网络或ISP提供的传输速度较快的时候,使用100KB数据包进行测量得出的结果不太准确。这时就需要通过修改默认数据包的大小以求测量结果更精确,这里我们加大了十倍,即1000KB。

5.2.5.测试步骤

a)按网络拓扑图进行部署;

b) 配置Console测试IP;

c) 测试脚本采用Throughput,Pair数量为10,数据包大小分别设置为1000KB;

d) 执行测试脚本;

e) 测试完毕,记录结果;

5.2.6.测试结果

下面是1000KB数据包,10Pairs下吞吐量测试结果:289.583 Mbps

  • 5.3. LAN->LAN单工吞吐量

5.3.1.测试目的

获取待测路由器Lan->Lan数据交换所能达到单工最大吞吐量

5.3.2.测试拓扑

5.3.3.测试条件

性能指标

测试条件设置

单工吞吐量

多条规划,大数据包数据包大小:1000KB多条规划:10规则协议:TCP

5.3.4.测试方法

测试软件使用IxChariot,测试脚本采用Throughput,Pair数量为10。对Throughput脚本进行修改,我们设置让Endpoint1-> Endpoint2发送大数据包,Pair数量被设定在10。修改发送数据包的大小为1000KB

5.3.5.测试步骤

a)按网络拓扑图进行部署;

b) 配置Console测试IP;

c) 测试脚本采用Throughput,Pair数量为10,数据包大小分别设置为1000KB;

d) 执行测试脚本;

e) 测试完毕,记录结果;

5.3.6. 测试结果

下面是1000KB数据包,10Pairs下吞吐量测试结果:947.992Mbps

  • 5.4. LAN->LAN双工吞吐量

5.4.1.测试目的

获取待测路由器Lan->Lan数据交换所能达到双工最大吞吐量

5.4.2.测试拓扑

5.4.3. 测试条件

性能指标

测试条件设置

双工吞吐量

多条规划,大数据包数据包大小:1000KB多条规划:10规则(双向各5条)协议:TCP

5.4.4.测试方法

前面介绍过单向测量的方法,也就是只检测中控主机->图形工作站的吞吐量。然而,实际工作中,网络是单工或双工工作也是影响网络速度的主要因素,因此我们还要考虑测试双向PAIR,测量结果会显示出中控主机->图形工作站的速度以及图形工作站->中控主机的速度。

测试脚本采用Throughput,Pair数量为10。对Throughput脚本进行修改,我们设置Endpoint1、Endpoint2互相发送大数据包,Pair数量被设定在10。修改发送数据包的大小为1000KB,单向各5Pair。

5.4.5.测试步骤

a)按网络拓扑图进行部署;

b)配置Console测试IP;

c)测试脚本采用Throughput,Pair总量为10,数据包大小设置为1000KB;

d) 执行测试脚本;

e) 测试完毕,记录结果;

5.4.6.测试结果

下面是1000KB数据包,总10Pairs下双向吞吐量测试结果:

总吞吐量为1624.511 Mbps,中控主机->图形工作站的吞吐量为920.337 Mbps,图形工作站->中控主机的吞吐量为768.963 Mbps。

  • 6. 测试分析
    • 6.1. WAN->LAN包转发性能

分析测试结果之前,还要说一下Ixchariot本身是有损耗的,测得的Throughput结果是有效数据负载,不包括TCP协议损耗、包间隔、应答和Ixchariot本身系统损耗,此部分典型损耗根据理论计算约6M,就是说即使你测试的是一台能线速转发的路由器,测出来的Throughput也只可能是94M左右,这是理论极限值,当然这是对百兆路由器而言。但这个损耗也是占用了路由器性能的,所以我们需要在测得的Throughput结果上加6Mbps。

我们分别测试64B、128B、256B、512B、1024B、1514B大小数据包的传输表现,对于测试结果,只要加上Ixchariot的传输损耗(6Mbps)没有超过1000Mbps这个极限值,我们便认为,传输瓶颈是来自于包转发性能,而不是路由器的带宽标准。我们需要的,也正是路由器在出现转发瓶颈时的数值。

使用Ixchariot测得的是Mbps,需要将其转换为pps,转换的方法在上面已经说过,

公式:(Mbps + 6Mbps) / 8 / (64B、128B、256B…1514B +20B) = Mpps * 1000000 = pps

下面我们解读上图的测试结果。

蓝色的曲线描绘的是bps,可以看到,随着数据包从64B至1514B,bps一路飙升。而pps曲线却不太正常,从按照之前的理论,pps应该是一个波动不大的值,可是这里却从18964跨到7385。而到1514B的时候bps是84.637Mbps,再加上6Mbps的损耗,并未达到路由器1000Mbps的极限值,显然这说明并非来自于路由器的带宽标准,而是包转发性能。

从以前的测试结果来看,bps高的pps一定高吗?其实不然,相反的pps是一个比较稳定的值,在传输大包时,反而会收到宽带标准的制约。从上图的测试结果来看,我们认为,这款路由器的Wan->Lan包转发能力应该在13000-7000之间,在这个测试中,不存在带宽瓶颈的问题。

这里我们总结一下路由器标称带宽(吞吐量)、实际吞吐量(bps)和包转发率(pps)之间的关系。我们常说的百兆路由器、千兆路由器,这指的就是路由器的标称吞吐量,对于百兆路由器来讲,达到标称吞吐量其实并不是什么难事,只要使用大数据包,我们在测试中使用的1Pair High_Performance_Throughput脚本测出的结果,成绩是非常好看的。但仅凭此,就能说明路由器的性能很好吗?显然不能。

从测试结果中我们可以看出,包转发率(pps)达到7000左右,输大数据包,吞吐量就能达到极限了,但此时,小数据包的转发性能其实也只有19000左右。试想一台包转发率为40000的设备,与包转发率为19000的设备在转发大数据包上,表现会有什么不同吗?似乎不会有任何不同,因为带宽(吞吐量)就是上限。但两者的区别会反应在转发小包时的效率上,在没有到达标称带宽(吞吐量)之前,pps为40000的设备将比pps为19000的要设备快上一倍,当然,这样的设备价钱也会更高。我们关注的核心应该是包转发率(pps),而不应是吞吐量,因为包转发率高了,吞吐量必然高,而吞吐量高,包转发率却不一定高。

在实际应用中,包转发能力十分关键,比如中控里经常控制各种设备,每操作一个动作指令,每转动一下摄像头,转发的全部是小包,这种情况下,不存在标准带宽(吞吐量)瓶颈的问题,考验的仅是路由器的包转发能力。如果路由器包转发能力不强,就很难应付大量小包转发的需求,对于一些时延敏感的应用,操作起来就会很不顺畅。

千兆路由器的包转发率达到了19000pps左右,虽然距理论最大值1488000pps相去甚远,但这一表现到底有多强或有多弱,我们如何判断。比较这两个数字,单从数量级来看,千兆路由器的包转发性能确实够差的,仅为理论值的1.28%左右。包转发率越高越好,但在实际应用中我们真的需要那么高的包转发率吗?对于这点,我们也没有一个判断的标准。

  • 6.2. WAN->LAN单工吞吐量

从测试的结果来看,在1000KB数据包、10Pairs下吞吐量测试结果为289.583 Mbps,也就是在1000KB数据包测试中的TH值达到了36.2MB/s。也就是说如果电脑硬盘读写速度够快,那么它下载1G的高清晰电影需要28秒钟。

相比千兆路由器理论值的1000 Mbps,实际测试的结果仅为289.583 Mbps,加上Ixchariot本身系统损耗6 Mbps也就295.583 Mbps还不到300 Mbps,这说明这款路由器WAN->LAN单工吞吐量还是比较差的。

下面我们来看看,当时测试过程中路由器CPU使用情况的截图

我们可以看到此时的路由器CPU资源使用率已经是100%,达到了其处理的极限,这是说明这款路由器其在吞吐量上的制约的瓶颈为其CPU。

  • 6.3. LAN->LAN单工吞吐量

从测试的结果来看,在1000KB数据包、10Pairs下LAN口间数据交换数据吞吐量测试结果为947.992Mbps,也就是在1000KB数据包测试中的TH值达到了118.499MB/s。也就是说如果两台局域网内的电脑硬盘读写速度够快,那么他们之间互传一个1G的高清晰电影仅需要8秒钟。

千兆路由器LAN口间设计理论值是1000 Mbps,实际测试的结果为947.992 Mbps加上Ixchariot本身系统损耗6 Mbps一起已经很接近了,这表明其LAN口间数据交换能力还是不错的。

  • 6.4. LAN->LAN双工吞吐量

从测试的结果来看,在1000KB数据包,总10Pairs下双向吞吐量测总吞吐量之和为1624.511 Mbps,中控主机->图形工作站的吞吐量为920.337 Mbps,图形工作站->中控主机的吞吐量为768.963 Mbps。中控主机->图形工作站的传输速率要高于图形工作站->中控主机。双工吞吐量的平均值为812.2555 Mbps,要低于中控主机->图形工作站的单工吞吐量,可见路由器在单工状态还是双工状态,在速度上还是有差距的。

7.2.

  • 7测试结论

总体上来说,目前这款全千兆企业级路由器算不上一款性能非常出色的设备,表现较为出色是LAN->LAN之间的数据交换能力,现将相关性能指标汇总如下:

n WLAN->LAN包转发性能:13000~7000 pps

n WAN->LAN单工吞吐量: 295.583 Mbps

n LAN->LAN单工吞吐量: 947.992Mbps

n LAN->LAN双工平均吞吐量: 812.2555 Mbps

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-07-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 7DGroup 微信公众号,前往查看

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

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言:
  • 本报告目的是测试企业内部用的TP-LINK TL-R478G+的性能,是标准的benchmark过程。
  • 这个路由器市场价600块钱左右,定位是中小企业内部使用。
  • 如果是做骨干网级的高端网络设备测试,还有高端的大型硬件网络测试仪。
  • 对于网络设备的测试,在选型、验收这样的目标下,可以参考这篇文章。
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档