BW_TCP(8) - LMBENCH man page


NAME

bw_tcp - time data movement through TCP/IP sockets

SYNOPSIS

bw_tcp -s

bw_tcp
hostname [transfersize]

bw_tcp
-hostname

DESCRIPTION

bw_tcp is a client/server program that moves data over a TCP/IP socket. Nothing is done with the data on either side; the data is moved in 48KB chunks.

bw_tcp has three forms of usage: as a server (-s), as a client (bw_tcp localhost), and as a shutdown (bw_tcp -localhost).

The default amount of data is 3MB. The client form may specify a different amount of data. Specifications may end with ``k'' or ``m'' to mean kilobytes (* 1024) or megabytes (* 1024 * 1024).

OUTPUT

Output format is "Socket bandwidth using %s: %0.2f MB/sec\\n", hostname, megabytes_per_second, i.e.,


Socket bandwidth using localhost: 2.32 MB/sec

MEMORY UTILIZATION

This benchmark can move up to six times the requested memory per process. There are two processes, the sender and the receiver. Most Unix systems implement the read/write system calls as a bcopy from/to kernel space to/from user space. Bcopy will use 2-3 times as much memory bandwidth: there is one read from the source and a write to the destionation. The write usually results in a cache line read and then a write back of the cache line at some later point. Memory utilization might be reduced by 1/3 if the processor architecture implemented "load cache line" and "store cache line" instructions (as well as getcachelinesize).

ACKNOWLEDGEMENT

Funding for the development of this tool was provided by Sun Microsystems Computer Corporation.

SEE ALSO

lmbench(8).