MacOSXとLinux間でのネットワーク速度計測

過去にも同じような記事を書いたんですが、改めて。
今回もMacOSXLinux間での速度測定。

今回はiperfを使います。
http://sourceforge.net/projects/iperf/files/

まずはMac側。Macはportから入れる事も可能。


$ sudo port install iperf
Password:
Warning: port definitions are more than two weeks old, consider using selfupdate

      • > Computing dependencies for iperf
      • > Fetching iperf
      • > Attempting to fetch iperf-2.0.4.tar.gz from http://jaist.dl.sourceforge.net/iperf
      • > Verifying checksum(s) for iperf
      • > Extracting iperf
      • > Configuring iperf
      • > Building iperf
      • > Staging iperf into destroot
      • > Installing iperf @2.0.4_0
      • > Activating iperf @2.0.4_0
      • > Cleaning iperf

これでOK。

次にLinux側です。
上から最新版をDLして


tar zxvf iperf-xxxxx
cd iperf-xxxxx
./configure
make
make install
で完了。

サーバー側になる方で


$ iperf -s
クライアント側で

$ sudo iperf -c サーバーIP

                                                                                                                      • -

Client connecting to サーバーIP, TCP port 5001
TCP window size: 65.0 KByte (default)

                                                                                                                      • -

[ 3] local クライアントIP port 55873 connected with サーバーIP port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 110 MBytes 92.7 Mbits/sec

92.7 Mbits/secですね。


もちろんの事ですが、MacOSX同士でも計測できますので。


ついでにmanです。


IPERF(1) User Manuals IPERF(1)

NAME
iperf - perform network throughput tests

SYNOPSIS
iperf -s [ options ]

iperf -c server [ options ]

iperf -u -s [ options ]

iperf -u -c server [ options ]

DESCRIPTION
iperf is a tool for performing network throughput measurements. It can test either TCP or UDP
throughput. To perform an iperf test the user must establish both a server (to discard traffic) and
a client (to generate traffic).

GENERAL OPTIONS
-f, --format
[kmKM] format to report: Kbits, Mbits, KBytes, MBytes

-h, --help
print a help synopsis

-i, --interval n
pause n seconds between periodic bandwidth reports

-l, --len n[KM]
set length read/write buffer to n (default 8 KB)

-m, --print_mss
print TCP maximum segment size (MTU - TCP/IP header)

-o, --output
output the report or error message to this specified file

-p, --port n
set server port to listen on/connect to to n (default 5001)

-u, --udp
use UDP rather than TCP

-w, --window n[KM]
TCP window size (socket buffer size)

-B, --bind
bind to , an interface or multicast address

-C, --compatibility
for use with older versions does not sent extra msgs

-M, --mss n
set TCP maximum segment size (MTU - 40 bytes)

-N, --nodelay
set TCP no delay, disabling Nagle’s Algorithm

-v, --version
print version information and quit

-V, --IPv6Version
Set the domain to IPv6

-x, --reportexclude
[CDMSV] exclude C(connection) D(data) M(multicast) S(settings) V(server) reports

-y, --reportstyle C|c
if set to C or c report results as CSV (comma separated values)

SERVER SPECIFIC OPTIONS
-s, --server
run in server mode

-U, --single_udp
run in single threaded UDP mode

-D, --daemon
run the server as a daemon
CLIENT SPECIFIC OPTIONS
-b, --bandwidth n[KM]
set target bandwidth to n bits/sec (default 1 Mbit/sec). This setting requires UDP (-u).

-c, --client
run in client mode, connecting to

-d, --dualtest
Do a bidirectional test simultaneously

-n, --num n[KM]
number of bytes to transmit (instead of -t)

-r, --tradeoff
Do a bidirectional test individually

-t, --time n
time in seconds to transmit for (default 10 secs)

-F, --fileinput
input the data to be transmitted from a file

-I, --stdin
input the data to be transmitted from stdin

-L, --listenport n
port to recieve bidirectional tests back on

-P, --parallel n
number of parallel client threads to run

-T, --ttl n
time-to-live, for multicast (default 1)

-Z, --linux-congestion
set TCP congestion control algorithm (Linux only)

ENVIRONMENT
TCP_WINDOW_SIZE
Controls the size of TCP buffers.

DIAGNOSTICS
This section needs to be filled in.

BUGS
Exit statuses are inconsistent. The threading implementation is rather heinous.

AUTHORS
Iperf was originally written by Mark Gates and Alex Warshavsky. Man page and maintence by Jon Dugan
. Other contributions from Ajay Tirumala, Jim Ferguson, Feng Qin, Kevin
Gibbs, John Estabrook , Andrew Gallatin , Stephen
Hemminger

SEE ALSO
http://iperf.sourceforge.net/