Skip to content

amp throughput

Brendon Jones edited this page Sep 21, 2016 · 2 revisions

NAME

amp-throughput - AMP standalone TCP throughput test

SYNOPSIS

amp-throughput -s [options]

amp-throughput -c server [options]

DESCRIPTION

amp-throughput is the standalone version of the amplet2(8) TCP throughput test. It is very similar in function to iperf(1), except that it can also use a running instance of amplet2(8) as a server, authenticating the connection using SSL.

GENERAL OPTIONS

-p, --port port Set server control port to connect to/listen on to be port. The default is 8815.

-I, --interface iface Specifies the interface (device) that tests should use when sending packets. By default the interface will be selected according to the routing table.

-4, --ipv4 a.b.c.d Specifies the source IPv4 address that tests should use when sending packets to IPv4 targets. This address must belong to one of the interfaces. By default the IPv4 address of the outgoing interface will be used.

-6, --ipv6 a:b:c:d:e:f:g:h Specifies the source IPv6 address that tests should use when sending packets to IPv6 targets. This address must belong to one of the interfaces. By default the IPv6 address of the outgoing interface will be used.

SERVER OPTIONS

-s, --server Run in server mode.

CLIENT OPTIONS

-c, --client host Run in client mode, connecting to host.

-i, --rcvbuf bytes Set the maximum size of the socket receive (input) buffer to bytes bytes. The default is set by /proc/sys/net/core/rmem_default.

-M, --mss bytes Set the TCP maximum segment size to bytes bytes.

-N, --nodelay Disable Nagle's Algorithm (set TCP_NODELAY).

-o, --sndbuf bytes Set the maximum size of the socket send (output) buffer to bytes bytes. The default is set by /proc/sys/net/core/wmem_default.

-P, --test-port port Perform the actual throughput test using port port. The default is 8816.

-Q, --dscp codepoint IP differentiated services codepoint to set. This should be a string representing a 6-bit value in binary, octal, decimal or hexadecimal, or the short name of a predefined, commonly used codepoint. The default is 0.

-r, --randomise Randomise the contents of each test packet sent.

-S, --schedule sequence Test schedule describing direction and duration of tests (see below). The default is to test for 10 seconds from the client to the server.

-t, --time seconds Test from client to server for seconds seconds. The default is 10 seconds.

-w, --disable-web10g Don't record Web10G results (if they are available).

-z, --write-size bytes Use bytes bytes sized writes when writing data to the socket. The default is 131072 bytes (128KB).

MISCELLANEOUS OPTIONS

-h, --help Show summary of options.

-v, --version Show version of program.

-x, --debug Enable extra debugging output.

SOCKET CONFIGURATION

Socket options such as rcvbuf, sndbuf, mss and nodelay will be set on both the client and the server. The client sends the options across the control socket and they will get set on the test socket at both endpoints. Web10G can be used to check these are set correctly.

TEST SCHEDULES

A schedule is a sequence of tests. Each test starts with a single character representing the type. Tests are separated by a single comma. Valid types are:

s*bytes* Run a server -> client test, sending data until bytes bytes have been sent.

S*bytes* Run a client -> server test, sending data until bytes bytes have been sent.

t*milliseconds* Run a server -> client test, sending data for milliseconds milliseconds.

T*milliseconds* Run a client -> server test, sending data for milliseconds milliseconds.

n Make a new test connection (close and reopen it).

p*milliseconds* Pause sending for milliseconds milliseconds.

EXAMPLES

amp-thoughput -c <target> -S t10000,T10000 Run a server to client test for 10 seconds, then run a client to server test for 10 seconds across the same connection.

amp-thoughput -c <target> -S s16000,n,S24000 Run a server to client test sending 16,000 bytes, then close and reopen the connection before running a client to server test sending 24,000 bytes.

SEE ALSO

amplet2(8), amplet2-remote(8), amp-icmp(8), amp-trace(8), amp-dns(8), amp-http(8), amp-tcpping(8), amp-udpstream(8).

AUTHOR

amp-throughput was written by Richard Sanger <rsangerarj@gmail.com> with modifications by Brendon Jones <brendonj@waikato.ac.nz>.

This manual page was written by Brendon Jones <brendonj@waikato.ac.nz>.