Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

tcpspray(1) [debian man page]

TCPSPRAY(1)						      General Commands Manual						       TCPSPRAY(1)

NAME
tcpspray - print average throughput for a tcp connection SYNOPSIS
tcpspray [ -v ] [ -e ] [ -h ] [ -b blksize ] [ -n nblks ] [ -f filename ] hostname DESCRIPTION
tcpspray sends data to either the discard or echo TCP service on the specified host and prints the average throughput. OPTIONS
-v Prints a dot for each block sent. Will also print a backspace for each block received in echo mode. Note: the I/O required for this option will affect the throughput rates. -e Use the TCP echo service instead of discard (the default) and print throughput rates for both transmission and reception. -h Print a usage description. -b blksize Sets the size of a block (the internal buffer) in bytes. Defaults to 1024. -n nblks Sets the number of blocks to transfer. Defaults to 100. -f filename Copy the contents of the specified file into the internal buffer (sized by -b option). The buffer is zeroed by default. If the file is larger than the buffer, only the first blksize bytes will be used. If the file is smaller than the buffer, the remaining bytes are zeroed. This option is useful in determining the relationship of the data transferred to throughput. E.g., if data compression is used on any of the intermediate links comprising the TCP connection, preloading the buffer with a text file will produce greater throughput than with a file that has already been compressed. -d delay Sets the time in microseconds to wait between successive buffer transmissions. The default is no delay. SEE ALSO
ping(8), spray(8) AUTHOR
Greg Christy (gmc@quotron.com) 23 October 1991 TCPSPRAY(1)

Check Out this Related Man Page

BUFFER(1)						      General Commands Manual							 BUFFER(1)

NAME
buffer - very fast reblocking program SYNTAX
buffer [-S size] [-b blocks] [-s size] [-z size] [-m size] [-p percentage] [-u microseconds] [-B] [-t] [-Z] [-i filename] [-o filename] [-d] OPTIONS
-i filename Use the given file as the input file. The default is stdin. -o filename Use the given file as the output file. The default is stdout. -S size After every chunk of this size has been written, print out how much has been written so far. Also prints the total throughput. By default this is not set. -s size Size in bytes of each block. The default blocksize is 10k to match the normal output of the tar(1) program. -z size Combines the -S and -s flags. -b blocks Number of blocks to allocate to shared memory circular buffer. Defaults to the number required to fill up the shared memory requested. -m size Maximum size of the shared memory chunk to allocate for the circular queue. Defaults to one megabyte. -p percentage Only start a write when the given percentage of the internal queue is full. A percentage around 75 often proves best. Defaults to zero. -u microseconds After every write pause for this many microseconds. Defaults to zero. (Surprisingly a small sleep, 100 usecs, after each write can greatly enhance throughput on some drives.) -B Force each block written to be padded out to the blocksize. This is needed by some tape and cartridge drives. Defaults to unpadded. This only affects the last block written. -t On exiting print to stderr a brief message showing the total number of bytes written. -Z If reading/writing directly to a character device (like a tape drive) then after each gigabyte perform an lseek to the start of the file. Use this flag with extreme care. It can only be used on devices where an lseek does not rewind the tape but does reset the kernels position flags. It is used to allow more than 2 gigabytes to be written. -d Print debug information to stderr during operation. Sizes are a number with an optional trailing character. A 'b' multiplies the size by 512, a 'k' by 1024 and an 'm' by a meg. DESCRIPTION
Buffer reads from standard input reblocking to the given blocksize and writes each block to standard output. Internally buffer is a pair of processes communicating via a large circular queue held in shared memory. The reader process only has to block when the queue is full and the writer process when the queue is empty. Buffer is designed to try and keep the writer side continu- ously busy so that it can stream when writing to tape drives. When used to write tapes with an intervening network buffer can result in a considerable increase in throughput. The default settings for buffer are normally good enough. If you are a heavy tape user then it is worth your while trying out various dif- ferent combinations of options. In particular running a buffer at both ends of the pipe can provide a substantial increase (see last exam- ple below). EXAMPLES
$ buffer < /etc/termcap > /dev/rst8 $ tar cf - . | rsh somehost 'buffer > /dev/rst8' $ dump fu - | rsh somehost 'buffer -s 16k > /dev/nrst8' $ tar cf - . | buffer | rsh somehost 'buffer -S 500K -p 75 > /dev/rst0' BUFFER LIMITS
There are 2 limits in buffer affecting the maximum total buffer size: The maximum number of blocks (2048) and the maximum size of a block (512kB). This results in a maximum total buffer size of 1GB. Note that there is also a kernel limit for the maximum size of a shared memory segment (used by buffer internally) which is typically much lower than the limits in buffer. So if buffer complains about not being able to create a shared memory segment, this limit might have to be raised using the command sysctl kernel.shmmax=XXX (see also sysctl(1) and proc(5)). BUGS
Internally, for printing purposes, buffer counts in terms of the number of kilobytes output. If the blocksize you use is not a whole num- ber of kilobytes then the numbers printed will be inaccurate. THANKS
Thanks to Kevin Twidle <kpt@doc.ic.ac.uk> for a lot of early suggestions and patches to make it work with non-tar/dump tapes to exabyte drives. Thanks to Andi Karrer <karrer@bernina.ethz.ch>, Rumi Zahir <rumi@iis.ethz.ch> and Christoph Wicki <wicki@iis.ethz.ch> for patches to make buffer work when trying to write single tape files of greater than 2 gigabytes. COPYRIGHT
Copyright (C) 1990, 1991 by Lee McLoughlin. SEE ALSO
dd(1), tar(1), rsh(1) 14 May 1990 BUFFER(1)
Man Page