netperf
netperf is the de-facto standard for network bandwidth testing between two hosts on a network. It blasts TCP data from a client host to a server host. This is different than transferring a file over the network, as you avoid any disk bottlenecks, and are using a standardized client and server for testing.
Downloading netperfTo save you the time, I have put netperf binaries up on our FTP server at ftp://ftp.chem.indiana.edu/pub/software/netperf/ - Simply download the binaries for your operating system, and in the case of UNIX hosts, extract them.
Running the serverThe target of your bandwidth test has to have a server running. You do not have to be an administrator of the target host to start the netperf server, however. On the server, simply type netserver from the directory your executables are in. If you are in UNIX, you may need to type ./netserver instead, if the current directory is not in path.
% netserver
Starting netserver at port 12865
If it says server_set_up: binding the socket: Address already in use, that means someone is already running the server on that machine. In that case, just continue to the next step to use the server that is already running on that host.
Running the clientThe syntax for the client is netperf -H hostname. This is an example of me running it from home to the IonMan Cluster:
TCP STREAM TEST to ionman
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec
87380 65535 65535 15.37 0.17
Throughput is in Mbps. Here are some ideal bandwidth numbers you should get within Chemistry:
- Insight Broadband: 0.17Mb/s (home->ionman)
- 100Mb/s Network: 94Mb/s (strongmad->ionman).
- Gigabit Network: 940Mb/s (ionman-n4->ionman-n5)
- Localhost: 5000 Mb/s (ionman-n1->ionman-n1)
|