Safire 库
在Safire,吞吐量和有效吞吐量均被测量。
吞吐量是指数据穿越链路的速率(即传输在线路上的总比特率)。
有效吞吐量是应用层吞吐量的定义,指应用层在客户端到服务器(上行)和服务器到客户端(下行)方向传输的单位时间内有效应用数据量,不包含协议开销位及重传数据包。有效吞吐量始终低于吞吐量。
有效吞吐量与吞吐量的区别在于:吞吐量衡量的是通过链路传输的所有数据(无论是否为有效数据),而有效吞吐量仅关注有效数据。诸如路由器接口统计所报告的吞吐量测量值,无法区分通过接口传输的数据性质——仅能反映比特已通过的事实。 吞吐量与有效吞吐量不同,因为吞吐量可能包含不需要的数据(如数据重传)或开销数据(如协议封装层)。
在TCP/IP协议中,重传发生的原因是TCP数据未能及时送达接收方。接收方通过ACK确认向发送方反馈数据已接收。若发送方未收到某数据块的预期ACK,则会重传该数据。重传会浪费带宽——相同数据在链路上重复传输两次,显然不属于有效吞吐量。 虽然重传可能由多种原因引发,但最常见于接口拥塞时段。这意味着当接口完全满载时,其吞吐量虽已达到极限,但有效吞吐量很可能尚未最大化。事实上,拥塞接口的数据洪流愈猛烈,重传次数就愈多。
除了重传数据外,协议开销——即包裹在应用数据外层的数据包头、帧头及其他数据——同样不计入有效吞吐量的测量范围。虽然有效吞吐量并非网络设备常提供的测量指标,但数据分析软件通常能够计算出有效吞吐率。
导致有效吞吐量低于吞吐量的因素:
- 在拥塞的网络设备(如防火墙、交换机和路由器)中,因位错误或数据包丢失导致丢失或损坏的数据包的重传。
- 传输层流量控制与拥塞控制。
- 协议开销:传输层、网络层和数据链路层的协议开销通常包含在吞吐量中,但不计入有效吞吐量。

