使用 Netstat 计算开销
应在安静网络上使用 Netstat 计算开销,以避免其他网络流量扭曲数据,例如广播或多播流量。
使用 Netstat 计算应用程序的网络开销
- 使用 Netstat 检索当前接口统计信息。
- 执行应用程序。
- 再次使用 Netstat 获取接口统计信息。
- 计算两个 Netstat 度量之间收到的字节数。
示例
以下示例演示了这些步骤,使用 TTCP 发送 10 字节的数据,一次发送一个字节。
首先,计算应用程序的理论开销。 对于此测试,所有数据包都是 60 字节 (以太网最低) 。 此传输需要三个数据包来设置连接,10 个数据包、10 个确认数据包 (延迟的 ACK 几乎每次) 都会触发,并且需要 4 个数据包才能正常关闭连接。
这相当于 27 个数据包,每个数据包 60 个字节,或 1620 字节 (3+4+10) *60=1620) 。 由于仅传输 10 个字节的数据,因此开销为 1610 字节,超过 99% 的协议开销。
命令
netstat -e
Interface Statistics
Received Sent
Bytes 392291400 444684566
Unicast packets 487627 570086
Non-unicast packets 1159163 11300
Discards 0 0
Errors 0 0
Unknown protocols 52812
ttcp -t -h0 -D -l1 -n10 -p9 172.31.71.99
ttcp-t: 10 bytes in 2168 real milliseconds = 0 KB/sec
ttcp-t: 10 I/O calls, msec/call = 216, calls/sec = 4, bytes/call = 1
netstat -e
Interface Statistics
Received Sent
Bytes 39229207 444685382
Unicast packets 487641 570100
Non-unicast packets 1159164 11301
Discards 0 0
Errors 0 0
Unknown protocols 52812
计算
发送: 816 字节
接收: 674 字节
总字节数: 1490
用户字节数: 10
开销: 1480/1490 = 99.3%
良好输出:=5 字节/秒 (或 40 位/秒)
注意
由于 Netstat 值中未考虑填充字节,因此传输的实际字节数与理论值不匹配。
相关主题