为了科学评估交换机的吞吐量,RFC 2544标准提供了详细的测试方法。该标准定义了六个关键的网络设备性能测试参数,包括吞吐量、延迟、丢包率等。通过这些参数的测试,用户可以直观比较不同厂商设备的性能优劣。
在实际测试中,常用的方法有步进方式和二分法方式。步进方式从初始速率开始,逐步增加发送速率,直到出现丢包为止。二分法则通过不断取当前速率与最大或最小速率的中间值进行测试,直到达到预设的测试精度。这两种方法各有优劣,步进方式简单直观,但效率较低;二分法效率高,但实现相对复杂。
测试环境的搭建和参数设置也至关重要。需要将被测设备连接到测试仪,配置必要的网络参数,并选择合适的测试帧长、流量方向等。RFC 2544建议使用多种帧长进行测试,以全面评估设备性能。
测试过程中,首先发布必要的路由信息,然后按照设定的帧长和速率发送测试流量,记录丢包情况,最终确定无丢包的最大速率。测试结果应详细记录帧长、理论最大速率和实测吞吐量,以便后续分析和比较。
值得注意的是,实际网络环境中的流量复杂多变,单纯的基准测试可能无法全面反映设备性能。因此,可以在基准测试基础上,加入广播报文、管理报文等多类型报文,同时发送多个帧长度的流量,甚至模拟突发流量,以更接近真实工况。
通过科学的吞吐量测试,不仅能有效评估交换机的性能,还能为网络设计和设备选型提供有力依据。选择合适的测试方法和参数,结合实际应用场景,才能全面、准确地评估交换机的实际表现。
1、引言
交换机是IP网络的核心设备之一,交换机性能的好坏直接影响IP网络的网络规模、网络稳定性,而交换机吞吐量是评估交换机性能的首要指标。面对市面上众多的交换机品牌与型号,需要一种标准的交换机吞吐量测试方法来对交换机性能进行评价。
RFC 2544是RFC组织提出的用于评测网络设备性能的国际标准,该标准在1999年被规定,主要是对RFC 1242中定义的性能评测参数的具体测试方法、结果的提交形式做了较详细的规定。通过对比设备的性能参数与RFC标准,用户能够轻松地比较不同厂商设备的优劣。
RFC 2544定义了6个关于网络设备参数的测试:
- 吞吐量(Throughput)
- 延迟(Latency)
- 丢包率(Frame loss rate)
- 背靠背测试(Back-to-back frames)
- 系统恢复时间(System recovery)
- 复位测试(Reset)
2、交换机吞吐量测试
2.1 交换机吞吐量测试概述
交换机吞吐量即交换机吞吐率,是评估交换机性能的首要指标,其定义是在设备没有丢包的情况下的最大的转发速率,通常使用每秒钟通过的最大的数据包(PPS/FPS)或者字节流数量来衡量(常见的单位有bit/s,Mbit/s,Gbit/s…),它反映了被测设备所能够处理(不丢包)的最大数据流量。
2.2 交换机吞吐量测试方法
在交换机吞吐量测试的每次试验中,以特定的速率发送测试帧并计算由DUT转发的帧数,如果有任何丢包,速率降低,否则速率会增加,重复这些试验,直到找到没有丢包的最大速率(每次试验持续时间不少于60秒)。
在介绍具体的测试方法之前,先介绍以下几个概念:
- 初始速率:发送测试帧的初始速率,一般用理论最大值(测试的接口速率)的百分比来表示。
- 最大速率:发送测试帧的最大速率,一般用理论最大值的百分比来表示,通常是100%。
- 最小速率:发送测试帧的最小速率,一般用理论最大值的百分比来表示,通常是0%。
- 测试精度:两次试验发送速率之差小于等于测试精度时,测试将停止,一般用理论最大值的百分比来表示,通常是1%。
- 试验持续时间:每次试验发送测试帧的持续时间,RFC 2544规定不少于60秒。
- 步长:发送速率每次增加的值,例如5%。
2.2.1 步进方式
第一次试验使用设置的初始速率作为发送速率,一旦发现丢包,测试即结束(第一次试验发现丢包需要调小初始速率重新测试)。如果不丢包,则以指定的步长增加测试发送速率,继续进行测试。中间过程中,只要有丢包,测试立即结束。如果中间一直没有丢包,则一直测到设置的最大速率为止。
2.2.2 二分法方式
第一次试验使用设置的初始速率作为发送速率。如果试验中有丢包,使用当前发送速率和设置的最小速率之间的中间值作为下一次试验的发送速率,否则使用当前发送速率和设置的最大速率之间的中间值作为下一次试验的发送速率。例如,当前试验不丢包发送速率为10%,设置的最大速率为100%,则下一个测试发送速率为55%。当发送速率和上一次试验的发送速率之差小于或等于设置的测试精度时,测试将停止。例如,测试到90%的发送速率没有出现丢包,但测试到91%的时候出现了丢包。此时,由于测试精度设置为1%,就不在90%到91%之间取中间值继续进行测试了,测试结果认为测试达到的交换机吞吐量就是90%。
2.2.3 组合方式
该方式为步进方式和二分法方式的组合。测试发送速率的增加,采用步进方式,出现丢包后测试发送速率的回退,采用二分法方式。
2.3 交换机吞吐量测试设置
2.3.1 环境搭建
(1) 将被测设备端口连接到测试仪端口。
(2) 配置被测设备确保可以转发测试帧。不允许对被测设备进行非必要配置来提高测试结果。
图2-1 交换机吞吐量测试拓扑
2.3.2 参数设置
除上文中提到的初始速率、最大速率、最小速率、测试精度、试验持续时间和步长外,测试开始之前还需要对以下参数进行设置:
- 测试帧长:RFC 2544建议选取64、128、256、512、1024、1280、1518字节。
- 流量方向:双向、单向从输入到输出、单向从输出到输入。
- 测试端口配置:包括速率,双工,自动协商等。
- Burst size:具有最小帧间隙的突发流量大小,模拟真实生产环境的突发流量。
2.4 交换机吞吐量测试步骤
以下步骤基于三层流量的交换机吞吐量测试:
(1) 使用被测设备支持并开启的路由协议发布转发测试流量所需的路由。在发送测试流量之前等待几秒钟确保被测设备已完成路由更新。如果所有的目的和被测设备直连,或者被测设备定义了静态路由,此步骤可以省略。
(2) 将当前测试帧的长度设置为第一个配置的测试帧长度。
(3) 测定交换机吞吐量。典型的二分法方式如下:
- 设置current_rate(当前试验测试速率)为设置的初始速率,设置high(当前试验的最大速率)为设置的最大速率,设置low(当前试验的最小速率)为设置的最小速率。
- 发送学习帧(例如IPv4 ARP、IPv6邻居发现)。
- 从所有测试端口发送当前测试帧长度的测试流量,发送速率为current_rate,发流时间为设置的试验持续时间。
- 用发送的帧数减去接收的帧数计算丢包数量。
- 如果丢包数大于零,将high设置为current_rate,否则low设置为current_rate。
- 设置delta为high-low。
- 设置current_rate为low+(delta/2)。
- 重复步骤b 到g ,直到delta小于或等于配置的测试精度,或current_rate大于等于high。
(4) 报告当前测试帧长度的交换机吞吐量。
(5) 对于其余配置的测试帧长度,重复步骤(3)到(4)。
2.5 测试结果输出
交换机吞吐量测试结果应包括帧长、理论最大速率和实测吞吐量数据。除此之外,测试中使用的协议、数据流格式和媒体类型也应该有涉及。测试的具体实现细节信息也可以保存以便进行异常排查。如果需要一个值来表示交换机吞吐量,应该使用最小测试帧长获得的吞吐量值。
如表2-1所示,以设备的10Mbps接口为例展示了交换机吞吐量测试结果。
表2-1 10Mbps接口吞吐量测试结果
帧长(Bytes) | 理论最大速率(FPS) | 吞吐量(FPS) |
64 | 14880 | 13000 |
128 | 8445 | 8200 |
256 | 4528 | 4500 |
512 | 2349 | 2349 |
1024 | 1197 | 1197 |
1280 | 958 | 958 |
1518 | 812 | 812 |
如图2-2所示,以帧长为x轴,帧速为y轴。除了测试得到的吞吐量值表示为帧速率,理论最大速率也显示出来进行比较。
图2-2 吞吐量测试结果图
3、结论
在实际的生产环境中,交换机要处理的数据流量往往较为复杂,例如需要同时处理各种类型的报文,通过交换机的报文不是单一的长度,有时候会有突发流量对交换机造成冲击等。
针对这些情况,可以在交换机吞吐量基准测试方法的基础上进行扩展,更加接近真实工况对交换机性能进测试:
- 加入一定数量的广播报文、管理报文、路由更新报文进行测试。
- 同时发送多个帧长度的测试流量。
- 模拟发送一定量的突发流量。
本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。
汇鑫科服隶属于北京通忆汇鑫科技有限公司, 成立于2007年,是一家互联网+、物联网、人工智能、大数据技术应用公司,专注于楼宇提供智能化产品与服务。致力服务写字楼内发展中的中小企业 ,2009年首创楼宇通信BOO模式,以驻地网运营模式为楼宇提供配套运营服务;汇鑫科服始终以客户管理效率为导向,一站式 ICT服务平台,提升写字楼办公场景的办公效率和体验;