ttcp(1Mtcp)
ttcp --
test TCP and UDP performance
Synopsis
ttcp -t
[-A align]
[-b size]
[-d]
[-D]
[-f format]
[-l buflen]
[-n numbufs]
[-O offset]
[-p port]
[-s]
[-u]
[-v]
dest_machine
ttcp -r
[-A align]
[-b size]
[-B]
[-d]
[-f format]
[-l buflen]
[-O offset]
[-p port]
[-s]
[-T]
[-u]
[-v]
Description
ttcp times the transmission and reception of data
between two systems using the UDP or
TCP protocols. It differs from common ``blast''
tests, which tend to measure the remote inetd as
much as the network performance and which usually do not
allow measurements at the remote end of a UDP
transmission.
For testing, start the transmitter with -t and -s
after starting the receiver with -r and -s.
Tests lasting at least tens of seconds should be used to obtain accurate
measurements.
Graphical presentations of throughput versus buffer size for
buffers ranging from tens of bytes to several pages can illuminate
bottlenecks.
Without the -s option, the default behavior is to
transmit data from stdin (-t specified)
or to print received data to stdout (-r specified).
Options
-A align-
Align the start of buffers to this modulus (default 16384).
-b size-
Set size of socket buffer.
The default varies from system to system.
This parameter affects the maximum UDP packet length.
-B-
When receiving data, output only full blocks,
using the block size specified by -l.
This option is useful for programs, such as tar,
that require complete blocks.
-d-
Debug: set the SO_DEBUG socket option.
-D-
If transmitting using TCP, do not buffer data when sending
(sets the TCP_NODELAY socket option).
-f format-
Specify the format of the throughput rate:
k-
kilobits per second
K-
kilobytes per second (default)
m-
megabits per second
M-
megabytes per second
g-
gigabits per second
G-
gigabytes per second
-l buflen-
Length of buffers in bytes (default 8192).
For UDP, this value is the number of data bytes in each packet.
The system limits the maximum UDP packet length. This limit can be
changed with the -b option.
-n numbufs-
Number of source buffers to transmit (default 2048).
-O offset-
Align the start of buffers to this offset (default 0).
For example, -A8192 -O1
causes buffers to start at the second byte
of an 8192-byte page.
-p port-
Port number to send to or listen on (default 5001).
On some systems, this port may be allocated to another network daemon.
-r-
Receive mode.
-s-
If transmitting, send fabricated data to the network;
if receiving, sink (discard) the data.
-t-
Transmit mode.
-T-
Touch: access each byte of data as it is
read in order to measure cache effects.
-u-
Use UDP instead of TCP.
-v-
Verbose: print more statistics.
References
ping(1Mtcp),
traceroute(1Mtcp)
Examples
To set up a simple TCP throughput test between the machines
alpha (transmitter) and bravo (receiver),
first enter the following command on bravo:
ttcp -r -n 32768 -s
Then enter the following command on alpha:
ttcp -t -n 32768 -s IP_bravo
IP_bravo is the IP address of bravo.
To measure UDP throughput, the -u option should
also be specified at both ends.
ttcp can also be used as a ``network pipe'' for
moving directory hierarchies between systems when routing
problems exist or when the use of other mechanisms is
undesirable. For example, on the destination machine, use:
ttcp -r -B | tar xvpf -
On the source machine, use:
tar cf - directory | ttcp -t dest_machine
Machines can be ``chained'' by running the following command on each
intermediate machine:
ttcp -r | ttcp -t next_machine
© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 25 April 2004