BWCTL
BWCTL is a command line client application and a scheduling and policy daemon that wraps throughput measurement tools such as iperf
, thrulay
, and nuttcp
(versions prior to 1.3 only support =iperf=).
More Information: For configuration, common problems, examples etc
Description of bwctld.limits parameters
A typical BWCTL result looks like one of the two print outs below. The first print out shows a test run from the local host to 193.136.3.155 ('-c' stands for 'collector'). The second print out shows a test run to the localhost from 193.136.3.155 ('-s' stands for 'sender').
[user@ws4 user]# bwctl -c 193.136.3.155 bwctl: 17 seconds until test results available RECEIVER START 3339497760.433479: iperf -B 193.136.3.155 -P 1 -s -f b -m -p 5001 -t 10 ------------------------------------------------------------ Server listening on TCP port 5001 Binding to local address 193.136.3.155 TCP window size: 65536 Byte (default) ------------------------------------------------------------ [ 14] local 193.136.3.155 port 5001 connected with 62.40.108.82 port 35360 [ 14] 0.0-10.0 sec 16965632 Bytes 13547803 bits/sec [ 14] MSS size 1448 bytes (MTU 1500 bytes, ethernet) RECEIVER END [user@ws4 user]# bwctl -s 193.136.3.155 bwctl: 17 seconds until test results available RECEIVER START 3339497801.610690: iperf -B 62.40.108.82 -P 1 -s -f b -m -p 5004 -t 10 ------------------------------------------------------------ Server listening on TCP port 5004 Binding to local address 62.40.108.82 TCP window size: 87380 Byte (default) ------------------------------------------------------------ [ 16] local 62.40.108.82 port 5004 connected with 193.136.3.155 port 5004 [ ID] Interval Transfer Bandwidth [ 16] 0.0-10.0 sec 8298496 Bytes 6622281 bits/sec [ 16] MSS size 1448 bytes (MTU 1500 bytes, ethernet) [ 16] Read lengths occurring in more than 5% of reads: [ 16] 1448 bytes read 5708 times (99.8%) RECEIVER END
The read lengths are shown when the test is for received traffic. In his e-mail to Main.TobyRodwell on 28 March 2005 Stanislav Shalunov of Internet2 writes:
"The values are produced by Iperf and reproduced by BWCTL.
An Iperf server gives you several most frequent values that the read()
system call returned during a TCP test, along with the percentages of
all read() calls for which the given read() lengths accounted.
This can let you judge the efficiency of interrupt coalescence
implementations, kernel scheduling strategies and other such esoteric
applesauce. Basically, reads shorter than 8kB can put quite a bit of
load on the CPU (each read() call involves several microseconds of
context switching). If the target rate is beyond a few hundred
megabits per second, one would need to pay attention to read()
lengths."
References (Pointers)
bwctl
home page: http://e2epi.internet2.edu/bwctl/- Example: http://e2epi.internet2.edu/pipes/pmp/pmp-switch.htm
- Announcement of 1.3rc4 release candidate
- PERT KB pages on
iperf
thrulay
- More Information: For configuration, common problems, examples etc.
- Description of bwctld.limits parameters
– Main.TobyRodwell - 28 Oct 2005
-- Main.FrancoisXavierAndreu & Main.SimonMuyal - 06 Jun 2005
-- Main.SimonLeinen - 22 Apr 2008 - 07 Dec 2008