Nuttcp

nuttcp is a network testing tool, very similar to iperf.
It is possible to measure TCP and UDP throughput and bandwidth.
Very appealing feature of nuttcp compared to iperf is the reliability of the results when used with UDP traffic. Something that can't be guaranteed by iperf.
In a server/client fashion like iperf, it allows to also run the reverse measurement without restart the tool but just using the -r option.

The command on the server:

  • nuttcp -S
  • or nuttcp -S --nofork (to avoid that the tool runs in the background)
This is what the measurement looks like
macas:Desktop scicchit$ ./nuttcp -T 30 -i 1 muria.switch.ch
 103.6875 MB /  1.00 sec = 869.7573 Mbps
 109.7500 MB /  1.00 sec = 920.4528 Mbps
 109.6250 MB /  1.00 sec = 919.6710 Mbps
 109.3125 MB /  1.00 sec = 917.0668 Mbps
 110.3125 MB /  1.00 sec = 925.3618 Mbps
 109.5625 MB /  1.00 sec = 919.0952 Mbps
 110.0625 MB /  1.00 sec = 923.3072 Mbps
 109.8750 MB /  1.00 sec = 921.6163 Mbps
 109.8125 MB /  1.00 sec = 921.1998 Mbps
 106.3750 MB /  1.00 sec = 892.2356 Mbps
 109.5000 MB /  1.00 sec = 918.6444 Mbps
 110.1250 MB /  1.00 sec = 923.8056 Mbps
 109.8750 MB /  1.00 sec = 921.6246 Mbps
 109.6250 MB /  1.00 sec = 919.6398 Mbps
 102.6250 MB /  1.00 sec = 860.8783 Mbps
 110.3750 MB /  1.00 sec = 925.8500 Mbps
 102.1875 MB /  1.00 sec = 857.3326 Mbps
  96.8125 MB /  1.00 sec = 812.1270 Mbps
 106.6875 MB /  1.00 sec = 894.9014 Mbps
 109.6250 MB /  1.00 sec = 919.2987 Mbps
  71.3125 MB /  1.00 sec = 598.4203 Mbps
  91.0000 MB /  1.00 sec = 763.3939 Mbps
 109.8125 MB /  1.00 sec = 921.0515 Mbps
 109.5000 MB /  1.00 sec = 918.5618 Mbps
 109.7500 MB /  1.00 sec = 920.6359 Mbps
 108.7500 MB /  1.00 sec = 912.1836 Mbps
 101.1250 MB /  1.00 sec = 848.1843 Mbps
 106.6250 MB /  1.00 sec = 894.6599 Mbps
 104.9375 MB /  1.00 sec = 880.2655 Mbps
  97.0000 MB /  1.00 sec = 813.7926 Mbps

 3166.0330 MB / 30.01 sec = 885.1331 Mbps 19 %TX 43 %RX 2 host-retrans 1.22 msRTT

and with UDP traffic

macas:Desktop scicchit$ ./nuttcp -T 30 -i 1 -u -R 10m muria.switch.ch
   1.1943 MB /  1.00 sec =  10.0182 Mbps    0 / 1223 ~drop/pkt 0.00 ~%loss
   1.1924 MB /  1.00 sec =  10.0026 Mbps    0 / 1221 ~drop/pkt 0.00 ~%loss
   1.1924 MB /  1.00 sec =  10.0024 Mbps    0 / 1221 ~drop/pkt 0.00 ~%loss
   1.1924 MB /  1.00 sec =  10.0025 Mbps    0 / 1221 ~drop/pkt 0.00 ~%loss
   1.1924 MB /  1.00 sec =  10.0025 Mbps    0 / 1221 ~drop/pkt 0.00 ~%loss
   1.1924 MB /  1.00 sec =  10.0024 Mbps    0 / 1221 ~drop/pkt 0.00 ~%loss
   1.1924 MB /  1.00 sec =  10.0024 Mbps    0 / 1221 ~drop/pkt 0.00 ~%loss
   1.1924 MB /  1.00 sec =  10.0024 Mbps    0 / 1221 ~drop/pkt 0.00 ~%loss
   1.1924 MB /  1.00 sec =  10.0021 Mbps    0 / 1221 ~drop/pkt 0.00 ~%loss
   1.1924 MB /  1.00 sec =  10.0027 Mbps    0 / 1221 ~drop/pkt 0.00 ~%loss
   1.1924 MB /  1.00 sec =  10.0025 Mbps    0 / 1221 ~drop/pkt 0.00 ~%loss
   1.1914 MB /  1.00 sec =   9.9940 Mbps    0 / 1220 ~drop/pkt 0.00 ~%loss
   1.1924 MB /  1.00 sec =  10.0027 Mbps    0 / 1221 ~drop/pkt 0.00 ~%loss
   1.1924 MB /  1.00 sec =  10.0025 Mbps    0 / 1221 ~drop/pkt 0.00 ~%loss
   1.1924 MB /  1.00 sec =  10.0024 Mbps    0 / 1221 ~drop/pkt 0.00 ~%loss
   1.1924 MB /  1.00 sec =  10.0025 Mbps    0 / 1221 ~drop/pkt 0.00 ~%loss
   1.1924 MB /  1.00 sec =  10.0024 Mbps    0 / 1221 ~drop/pkt 0.00 ~%loss
   1.1924 MB /  1.00 sec =  10.0023 Mbps    0 / 1221 ~drop/pkt 0.00 ~%loss
   1.1924 MB /  1.00 sec =  10.0026 Mbps    0 / 1221 ~drop/pkt 0.00 ~%loss
   1.1924 MB /  1.00 sec =  10.0025 Mbps    0 / 1221 ~drop/pkt 0.00 ~%loss
   1.1924 MB /  1.00 sec =  10.0024 Mbps    0 / 1221 ~drop/pkt 0.00 ~%loss
   1.1924 MB /  1.00 sec =  10.0023 Mbps    0 / 1221 ~drop/pkt 0.00 ~%loss
   1.1562 MB /  1.00 sec =   9.6993 Mbps   36 / 1220 ~drop/pkt 2.95 ~%loss
   1.1924 MB /  1.00 sec =  10.0024 Mbps    0 / 1221 ~drop/pkt 0.00 ~%loss
   1.1924 MB /  1.00 sec =  10.0023 Mbps    0 / 1221 ~drop/pkt 0.00 ~%loss
   1.1924 MB /  1.00 sec =  10.0026 Mbps    0 / 1221 ~drop/pkt 0.00 ~%loss
   1.1914 MB /  1.00 sec =   9.9943 Mbps    0 / 1220 ~drop/pkt 0.00 ~%loss
   1.1904 MB /  1.00 sec =   9.9859 Mbps    0 / 1219 ~drop/pkt 0.00 ~%loss
   1.1953 MB /  1.00 sec =  10.0272 Mbps    0 / 1224 ~drop/pkt 0.00 ~%loss

  35.7334 MB / 30.00 sec =   9.9925 Mbps 95 %TX 0 %RX 36 / 36627 drop/pkt 0.09841 %loss

Most useful options:

-S server mode

--nofork don't fork server

-p## port number to send to|listen at (default 5101)

-T## transmit timeout in seconds (or (m|M)inutes or (h|H)ours)

-i## receiver interval reporting in seconds (or (m|M)inutes)

-r reverse direction

-N## number of parallel streams

-u use UDP instead of TCP

-R 90m (rate limit for UDP)

-w## transmitter|receiver TCP window size in KB (or (m|M)B or (g|G)B)

-xt traceroute feature. It shows the route from the server to the client and viceversa.

-- AlessandraScicchitano - 2013-01-30

Edit | Attach | Watch | Print version | History: r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r3 - 2013-02-05 - AlessandraScicchitano
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2004-2009 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.