前言:

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

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

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

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

  • 正文

3.2. 测试目标

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

  • WLAN->LAN包转发性能。
  • WAN->LAN单工吞吐量。
  • LAN->LAN单工吞吐量。
  • LAN->LAN双工平均吞吐量。

3.3. 术语和缩略语

术语/缩略词

说明

包转发率

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

吞吐量(带宽)

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

3.4.3.网络环境

网络设备

带宽

型号

路由器

1000M

TP-LINK TL-R478G+

交换机

100M

华为S3700-28TP-SI(AC)

3.5. 测试工具

名称

说明

IxChariot 6.70

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

Endpoint 7.10

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

4.测试执行与结果

4.1. WAN->LAN包转发性能

1. 测试目的

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

2. 测试拓扑

3. 测试条件

性能指标

测试条件设置

包转发率

多条规划,不同数据包大小

数据包:64B、128B、256B、512B、1024B、1514B

多条规划:100规则

协议:TCP

4. 测试方法

测试软件使用IxChariot,测试脚本采用High_Performance_Throughput,Pair数量为100。IxChariot是一款被普遍使用的网络负载测试工具,对High_Performance_Throughput脚本进行修改,我们可以设置不同大小并让Endpoint1-> Endpoint2发送数据包,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之后,此时计数单位就是Byteps了,也就是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. 测试步骤

a) 按网络拓扑图进行部署;
b) 配置Console测试IP;
c) 测试脚本采用High_Performance_Throughput,Pair数量为100,数据包大小分别设置为64B、128B、256B、512B、1024B、1514B;
d) 循环执行测试脚本;
e) 测试完毕,记录每一次结果;

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

4.2. WAN->LAN单工吞吐量

1. 测试目的

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

2. 测试拓扑

3. 测试条件

性能指标

测试条件设置

单工吞吐量

多条规划,大数据包

数据包大小:1000KB

多条规划:10规则

协议:TCP

4. 测试方法

测试软件还是使用IxChariot,测试脚本采用Throughput,Pair数量为10。对Throughput脚本进行修改,我们设置让Endpoint1-> Endpoint2发送大数据包,Pair数量被设定在10,这是因为对于网络情况不稳定、经常出现速度波动的情况来说,在某一时刻测量速度存在一定的不确定因素,我们采用科学测量法来解决这个问题,即采用平均值的方法。将所有测量值汇总在一起可以得到更接近真实数值的结果。
      虽然我们可以通过科学测量法减小误差,但由于默认数据包仅为100KB,所以总的数据检测量相对较小。对于带宽比较大的情况,例如100Mbps以上的网络或ISP提供的传输速度较快的时候,使用100KB数据包进行测量得出的结果不太准确。这时就需要通过修改默认数据包的大小以求测量结果更精确,这里我们加大了十倍,即1000KB。

5. 测试步骤

a) 按网络拓扑图进行部署;
b) 配置Console测试IP;
c) 测试脚本采用Throughput,Pair数量为10,数据包大小分别设置为1000KB;
d) 执行测试脚本;
e) 测试完毕,记录结果;

6. 测试结果

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

4.3. LAN->LAN单工吞吐量

1. 测试目的

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

2. 测试拓扑

3. 测试条件

性能指标

测试条件设置

单工吞吐量

多条规划,大数据包

数据包大小:1000KB

多条规划:10规则

协议:TCP

4. 测试方法

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

5. 测试步骤

a) 按网络拓扑图进行部署;
b) 配置Console测试IP;
c) 测试脚本采用Throughput,Pair数量为10,数据包大小分别设置为1000KB;
d) 执行测试脚本;
e) 测试完毕,记录结果;

6. 测试结果

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

4.4. LAN->LAN双工吞吐量

1. 测试目的

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

2. 测试拓扑

3. 测试条件

性能指标

测试条件设置

双工吞吐量

多条规划,大数据包

数据包大小:1000KB

多条规划:10规则(双向各5条)

协议:TCP

4. 测试方法

4.3节介绍单向测量的方法,也就是只检测中控主机->图形工作站的吞吐量。然而,实际工作中,网络是单工或双工工作也是影响网络速度的主要因素,因此我们还要考虑测试双向PAIR,测量结果会显示出中控主机->图形工作站的速度以及图形工作站->中控主机的速度。
      测试软件还是使用IxChariot,测试脚本采用Throughput,Pair数量为10。对Throughput脚本进行修改,我们设置Endpoint1、Endpoint2互相发送大数据包,Pair数量被设定在10。修改发送数据包的大小为1000KB,单向各5Pair。

5. 测试步骤

a) 按网络拓扑图进行部署;
b) 配置Console测试IP;
c) 测试脚本采用Throughput,Pair总量为10,数据包大小设置为1000KB;
d) 执行测试脚本;
e) 测试完毕,记录结果;

6. 测试结果

下面是1000KB数据包,总10Pairs下双向吞吐量测试结果:
总吞吐量为1624.511 Mbps,中控主机->图形工作站的吞吐量为920.337 Mbps,图形工作站->中控主机的吞吐量为768.963 Mbps

5. 测试分析

5.1. WAN->LAN包转发性能

分析测试结果之前,还要说一下Ixchariot这个测试工具,Ixchariot本身是有损耗的,使用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),而不应是吞吐量,因为包转发率高了,吞吐量必然高,而吞吐量高,包转发率却不一定高。
      在实际应用中,包转发能力十分关键,比如icsBOX里经常控制各种设备,每操作一个动作指令,每转动一下摄像头,转发的全部是小包,这种情况下,不存在标准带宽(吞吐量)瓶颈的问题,考验的仅是路由器的包转发能力。如果路由器包转发能力不强,就很难应付大量小包转发的需求,对于一些时延敏感的应用,操作起来就会很不顺畅。

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

5.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。

5.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口间数据交换能力还是不错的。

5.4. LAN->LAN双工吞吐量

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

6. 测试结论

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

  • WLAN->LAN包转发性能:13000~7000 pps
  • WAN->LAN单工吞吐量: 295.583 Mbps
  • LAN->LAN单工吞吐量: 947.992Mbps
  • LAN->LAN双工平均吞吐量: 812.2555 Mbps

性能报告之路由器性能benchmark评估相关推荐

  1. 第四十六章 使用 ^SystemPerformance 监视性能 - 生成 ^SystemPerformance 性能报告

    文章目录 第四十六章 使用 ^SystemPerformance 监视性能 - 生成 ^SystemPerformance 性能报告 生成 `^SystemPerformance` 性能报告 使用任务 ...

  2. 使用Emit的TypeBUilder动态创建接口程序集的性能报告。

    方案一: 使用RealProxy实现接口,并操作get.set 方案二: 使用Emit创建接口实现类,并使用DynamicMethod构造创建constructor,操作getset 方案三: 使用e ...

  3. AIMS 2013中的性能报告工具不能运行的解决办法

    在AIMS 2013中,最引人注意的新功能之一就是提供了性能报告分析工具,通过这个工具,你可以分析当前地图的每一个图层的渲染时间,从而找到性能瓶颈,这样才能使性能调优工作有的放矢.这个性能报告工具包含 ...

  4. 路由器的类型及衡量路由器性能的主要参数指标

    路由器的类型及衡量路由器性能的主要参数指标 |字号 订阅 互联网各种级别的网络中随处都可见到路由器.接入网络使得家庭和小型企业可以连接到某个互联网服务提供商:企业网中的路由器连接一个校园或企业内成千上 ...

  5. openGauss WDR Snapshot生成性能报告详细解读

    openGauss WDR Snapshot生成性能报告详细解读 1. 简介 2. 操作步骤 2.1. 参数启用 2.1.1 启用WDR报告的snapshot收集 2.1.2 启用资源实时监控功能 2 ...

  6. nmon analyser——生成 AIX 性能报告的免费工具

    nmon analyser--生成 AIX 性能报告的免费工具 可从 NMON 的输出中生成大量的报告图形 Stephen Atkins (steve_atkins@uk.ibm.com), IBM ...

  7. 提取光猫_下挂设备_路由器性能

    1.提取光猫信息 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2018/5/11 0011 12:50 # @Author : Sx ...

  8. oracle awr与ash性能报告深入解析,Oracle AWR 与 ASH 性能报告深入解析

    <Oracle  AWR 与 ASH 性能报告深入解析> 一  数据库版本 LEO1@LEO1> select * from v$version; BANNER ---------- ...

  9. UPA深度性能报告解读

    作者:张涛,腾讯互娱测试工程师 商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处. 原文链接:http://wetest.qq.com/lab/view/403.html WeTest 导 ...

  10. LoadRunner之交叉结果与性能报告生成

    一.交叉结果的应用 1.1 什么是交叉结果? 交叉结果是指相同场景下两次测试结果进行交叉对比,在LoadRunner中把这种对比两次结果指标叫做交叉结果: 1.2 为什么要交叉结果? 本轮的测试结果诞 ...

最新文章

  1. Linux——进程间关系和守护进程(总结)
  2. C++/Cli中事件对象处理函数的添加与删除
  3. c语言中运用空语句的延时函数,【转载】单片机C语言中_nop_函数的使用及C语言的延时计算...
  4. 安卓微软数学(算数,积分,极限,代数)数学神器
  5. latex数学符号加粗_LaTex数学公式符号整理
  6. Win10为什么电脑没有本地组策略编辑器
  7. MFC控件重叠显示问题
  8. 计算机无法登陆提示rpc服务器不可用,电脑提示RPC服务器不可用的解决方法
  9. panabit安装和默认密码
  10. 微信付款为什么无法连接服务器,前台微信付款报错:无法连接服务器,请检查网络连接?...
  11. 产品经理告诉你什么是PMF?什么是MVP?
  12. 接口测试——postman和Jemter
  13. 基于遗传算法解决城市TSP问题
  14. 双目摄像头三种标定方式标定结果对比
  15. python数字转中文_阿拉伯数字转换为中文数字的python实现
  16. Kd树实现knn算法(python)
  17. android360浏览器卸载,三款主流安卓浏览器横评!删掉APP全靠它?
  18. 试述现代计算机系统的多级层次结构,计算机系统结构测验题(一)答案.ppt
  19. java关闭ftp 连接_Java语言实现简单FTP软件------gt;连接管理模块的实现:主机与服务器之间的连接与关闭操作(八) - 移动编程 - ITeye博客...
  20. m基于rbf神经网络和遗传算法优化的MIMO-OFDM系统信道估计算法matlab仿真

热门文章

  1. linux各种常用源码网站
  2. “差不多先生”姚劲波和不再神奇的58同城
  3. C#编写ActiveX控件
  4. CAD2004软件从下载安装到学习CAD教程(后台菜单自助更多)
  5. 中国各省常住人口和GDP数据( 2001-2019年)
  6. java万年历报告_java万年历设计报告
  7. 计算机硬件性能指标参考
  8. 程序员自我修养1:能力矩阵
  9. 小红伞杀毒软件|小红伞杀毒软件下载
  10. 微软windows10易升_Win10 如何摆脱易升这个流氓软件,如何拒绝每半年一次的大更...