如何测量一段时间内的最大吞吐量?

我试图找出我能在本地机器上实现的最大上行和下行DSL吞吐量。

我试过用iptraf

在我的服务器与$IP我开始:

 iptraf -s 

并在我的本地机器上:

 iperf -c $IP 

会输出

 ------------------------------------------------------------ Client connecting to $IP, TCP port 5001 TCP window size: 21.8 KByte (default) ------------------------------------------------------------ [ 3] local 10.116.135.6 port 50423 connected with $IP port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.3 sec 8.00 MBytes 6.51 Mbits/sec 

如果我在一个循环中启动它:

 while true;do iperf -c $IP |tail -n 1; done 

这创build了输出:

 [ 3] 0.0-11.6 sec 7.50 MBytes 5.45 Mbits/sec [ 3] 0.0-10.3 sec 8.25 MBytes 6.75 Mbits/sec [ 3] 0.0-10.2 sec 7.88 MBytes 6.45 Mbits/sec [ 3] 0.0-10.2 sec 8.25 MBytes 6.81 Mbits/sec ... 

要每秒测量10分钟以上,还可以:

 iperf -c $IP -i 1 -t 600 

这只会显示超过10分钟的最大带宽

 I=600; iperf -c $IP -i 1 -t $I | awk -F ' +' '{print $5}'|sort|tail -n 1 

但是,我怎样才能计算最大的下载和分别上传?

使用vnstat

 vnstat -i eth0 -l Monitoring eth0... (press CTRL-C to stop) rx: 704 kbit/s 104 p/s tx: 32 kbit/s 63 p/s rx: 588 kbit/s 97 p/s tx: 32 kbit/s 59 p/s rx: 2.56 Mbit/s 395 p/s tx: 96 kbit/s 211 p/s^C eth0 / traffic statistics rx | tx --------------------------------------+------------------ bytes 5.46 MiB | 233 KiB --------------------------------------+------------------ max 3.51 Mbit/s | 140 kbit/s average 1.40 Mbit/s | 58.25 kbit/s min 0 kbit/s | 4 kbit/s --------------------------------------+------------------ packets 6853 | 3910 --------------------------------------+------------------ max 514 p/s | 315 p/s average 214 p/s | 122 p/s min 1 p/s | 1 p/s --------------------------------------+------------------ time 32 seconds 

编辑:阅读男人和使用选项来套装自己,这是相当广泛的。

编辑:如何生成服务器/客户端上的RX / TX原始stream量。

ON SERVER:1)开始监听随机端口“2899”:

 root@ub1:~# netcat -v -v -l -n -p 2899 >/dev/null & 

3)从服务器到客户端生成2分钟的原始stream量:

  timeout -sHUP 2m yes|nc -v -v -n 192.168.1.2 3755 >/dev/null 

在客户端:2)开始监听随机端口“3755”:

 root@ub2:~# netcat -v -v -l -n -p 3755 >/dev/null & 

4)从客户端生成原始stream量到服务器:

  timeout -sHUP 2m yes|nc -v -v -n 192.168.1.1 2899 >/dev/null 

在那个时候在那个接口上启动vnstat,同时产生stream量来查看你的最大/最小/平均值。