ttcp - test TCP and UDP performance
ttcp -t [-u] [-s] [-p port] [-l buflen] [-b size] [-n numbufs] [-A align]
[-O offset] [-f format] [-D] [-v] host [<in]
ttcp -r [-u] [-s] [-p port] [-l buflen] [-b size] [-A align] [-O offset]
[-f format] [-B] [-T] [-v] [>out]
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, the transmitter should be started with -t and -s after the
receiver has been started 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.
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
ttcp -r -B | tar xvpf -
and on the source machine:
tar cf - directory | ttcp -t dest_machine
Additional intermediate machines can be included by:
ttcp -r | ttcp -t next_machine
-t Transmit mode.
-r Receive mode.
-u Use UDP instead of TCP.
-s If transmitting, source a data pattern to network; if
receiving, sink (discard) the data. Without the -s option, the
default is to transmit data from stdin or print the received
data to stdout.
-l length 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.
When testing UDP performance, it is important to set the packet
size to be less than or equal to the maximum transmission unit
of the media. Otherwise, IP fragmentation will distort the
test. For Ethernet, set the length to 1508 bytes.
-b size Set size of socket buffer. The default varies from system to
system. This parameter affects the maximum UDP packet length.
It may not be possible to set this parameter on some systems
(for example, 4.2BSD).
Number of source buffers transmitted (default 2048).
-p port Port number to send to or listen on (default 5001). On some
systems, this port may be allocated to another network daemon.
-D If transmitting using TCP, do not buffer data when sending
(sets the TCP_NODELAY socket option). It may not be possible
to set this parameter on some systems (for example, 4.2BSD).
-B When receiving data, output only full blocks, using the block
size specified by -l. This option is useful for programs, such
as tar(1), that require complete blocks.
-A align Align the start of buffers to this modulus (default 16384).
-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.
-f format Specify, using one of the following characters, the format of
the throughput rates as kilobits/sec ('k'), kilobytes/sec
('K'), megabits/sec ('m'), megabytes/sec ('M'), gigabits/sec
('g'), or gigabytes/sec ('G'). The default is 'K'.
-T ``Touch'' the data as they are read in order to measure cache
-v Verbose: print more statistics.
-d Debug: set the SO_DEBUG socket option.
ping(1M), traceroute(1M), netsnoop(1M)
PPPPaaaaggggeeee 2222 [ Back ]