软件测试技术之网络性能测试
作者:网络转载 发布时间:[ 2012/7/13 13:45:55 ] 推荐标签:
大多数测试设备厂商采用通用的吞吐量测试方法,但是网络设计人员仍需要了解在实际中解决更微妙问题时的不同考虑。以下是在实际测试中,对于吞吐量和延迟两个测试需要多考虑的一些因素。
比如说,两台路由器通过一条T1线路连接起来,测试人员利用1Gbit?s光纤线路连接到路由器。T1线路只能以1.536Mbit/s的速率传送数据,而光纤路可以根据帧的不同长度以超过900Mbps的速度传送数据。按每秒帧数测量的64字节帧的吞吐量似乎可以精确地表示为:1536000比特每秒(64字节每帧×8比特每字节)=3000帧每秒。
但是,实际的数字可能由于多种原因而有所不同。首先,以太网帧中的数据链路层信息可能没有流过T1接口。相反,可能建立了某种类型的点对点协议(PPP)链路,从而从以太网帧中完全删除了二层字节的媒介访问控制信息,并用PPP包头中的信息代替它。
其次,测量算法本身可能会造成问题。如果测试人员不仔细地理解测量算法和路由器的特性的话,他们会看到比上述公式所表达的吞吐量更高的吞吐量。由于路由器在缓冲区中存储数据帧并且在测试过程中缓存区满了,这个问题会突然出现。当测试设备发出的传输流终止于测试端时,缓冲区继续通过T1接口传送存储的帧。在这种情况下,吞吐量算法必须进行修改以使实际被统计的帧嵌入到未被统计的帧系列中。
延迟是另一项基础性能标准,但是随着测试的开展问题会变得复杂起来。RFC 1242将比特转发设备的延迟定义为“从输入帧的第一比特的结尾到达输出端口时开始计时,输出帧的第一比特的开始出现输出端口上时结束计时,这段的时间间隔。”这里,延迟是针对网络设备定义的。RFC 2544中建议的方法如下:首先确定网络设备的大吞吐量,然后以此吞吐量速度继续传送120秒的数据流,并在60秒时传送一帧“签名”帧。签名帧被用于传送时间标记,当接收到签名帧时,对时间标记进行检查。收到时间标记与发送时间标记之间的间隔用于确定延迟。RFC2544建议进行多次独立的试验,终得到的数据是多次试验结果的平均值。一般来说,如果测试人员试图得到在某种程度上表示网络设备转发帧能力的数据的话,这种方法是可行的。但是,在计算延迟时常常需要考虑更多的东西。
如果签名帧由于某种原因被丢弃,RFC 2544中描述的延迟测量法会出现问题。它可能会造成测试设备无限期地等待签名帧的到达。由于数据流是以网络设备可支持的吞吐速率发送的,因此丢弃签名帧的现象不应当出现。然而,在实际情况可能有出入,而在发生丢弃帧的情况下,测试将是无效的。
解决这个问题的一种办法是设计一种测试算法,这种算法每秒发送一个签名帧,然后捕获所有的签名帧。当延迟帧的传输结束时,测试设备可以在捕获到帧的集合的中心点挑出一帧并执行其延迟测量。如果签名帧被丢弃,测试仍可以利用另一个签名帧来代替它。这种方法提高了这种测试的强健性。
但是,这种修改后的延迟算法可能还不能满足要求。利用这种算法,测试人员不能测量延迟的变化,即抖动。为了准确地进行这种测试,测试人员必须实时地捕获和分析所有的帧。然后他们可以计算时间的小、大和平均延迟。
为了将此论点再向前发展一步,测试人员可以将小、大和平均延迟放到一个专门的缓存区序列中,并定期地切换到一个新缓存区,这将产生时间变化的延迟。利用这类设备,测试人员可以在其他传输流模式流过设备的同时勾画出网络设备的延迟行为,从而在高强度条件下得到网络设备更准确的描述。显然,由于这类测试超出了任何处理器可跟踪记录的能力,因此这种测试要求测试设备必须利用优化的硬件来跟踪记录延迟。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11