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

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

我尝试找出我的本地机器上可以实现的最大上行和下行 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

这将创建输出:

[  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

但是我如何才能分别计算最大下载量和上传量呢?

答案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 生成原始流量。

在服务器上:1)开始监听随机端口“2899”:

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

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

 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)生成从客户端到服务器的原始流量:

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

在生成流量时在该接口上启动 vnstat 以查看最大值/最小值/平均值。

相关内容