我正在testing两台PC之间的吞吐量,连接在同一个路由器上,一个是100mbps局域网,另一个是54mbps wifi。
这是有趣的部分:
nc ,从A发送到B时,我得到2.63MB / s (用pv -r|nc ipB ) iperf ,我得到23MB / s这是非常好的。 nc什么可能是错的?
操作系统是Ubuntu的11.04两个。
对于不支持TCP Windowing的NetCat来说,这个比例是正确的。 如果你在界面上执行tcpdump,而两个基准testing正在运行,我猜你会看到NC的这种模式:
而这种IPerf模式:
通过对TCP段进行窗口化,您可以获得更高的吞吐量,因为您不必在每个数据包之后等待Ack,而只需在每个段之后等待Ack。
这不是netcat 。 用iperf我得到
[ 3] local 192.168.1.201 port 55610 connected with 192.168.1.200 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.0 sec 394 MBytes 39.4 MBytes/sec
用nc -l -p 1852 > /dev/null和cat /dev/zero | pv -r | nc 192.168.1.200 1852 cat /dev/zero | pv -r | nc 192.168.1.200 1852 cat /dev/zero | pv -r | nc 192.168.1.200 1852我得到了
[ 34MB/s]
(在30到60之间波动)
你给netcat什么数据?
仅仅因为你的无线网卡能够连接54MB,并不意味着你将获得吞吐量。 特别是,这听起来像你有802.11g的Achilies脚跟 。 只要每一个无线设备与它通话的速度都会变快,但是即使一个设备只有b速度能力,它也必须使用最小公分母与所有设备通话。
您可以尝试使用无线方式打开机器上的terminal并运行iwconfig 。 查看比特率=字段,看看你实际连接的速度。
小心iperf单位。 这是一个常见的错误:iperf通常以Mbit / s而不是Mbyte / s显示。