netperf - Man Page

a network performance benchmark

Examples (TL;DR)

Synopsis

netperf [global options] -- [test specific options]

Description

Netperf is a benchmark that can be used to measure various aspects of networking performance. Currently, its focus is on bulk data transfer and request/response performance using either TCP or UDP, and the Berkeley Sockets interface. In addition, tests for DLPI, and Unix Domain Sockets, tests for IPv6 may be conditionally compiled-in.

Global Options

-4

Use AF_INET (aka IPv4) addressing for the control and possibly data connections.

-6

Use AF_INET6 (aka IPv6) addressing for the control and possibly data connections.

-a sizespec

Alter the send and receive buffer alignments on the local system. This defaults to 8 bytes.

-A sizespec

As -a, but for the remote system.

-B brandstr

Add brandstr to the output of a test with banners disabled.

-c [rate]

Request CPU utilization and service demand calculations for the local system. If the optional rate parameter is specified, netperf will use that instead of calculating the rate itself.

-C [rate]

As -c, but for the remote system.

-d

Increase the quantity of debugging output displayed during a test (possibly at the expense of performance).

-D [secs,units] (*)

Display interim results at least every secs seconds uning units as the initial guess for units per second. This is only available when netperf has been configured with --enable-demo.

-f GMKgmk

Change the units of measure for *_STREAM tests. Capital letters are powers of two, lowercase are powers of ten.

-F fill_file

Pre-fill the send buffers with data from the named file. This is intended to provide a means for avoiding buffers that are filled with data which is trivially easy to compress. A good choice for a file that should be present on any system is this manpage - netperf.man. Other files may be provided as part of the distribution.

-h

Display a usage string, and exit.

-H name|ip,family (*)

Set the hostname (or IP address) and address family to use to establish the control connection to the remote system. Passing a single name with no comma will only set remote_host and will leave selection of address family for the control connection to the stack or by a -4 -r -6 command line option.

-i max,min

Set the maximum and minimum number of iterations when trying to reach certain confidence levels.

-j

Instruct netperf to calculate additional statistics on timing when running an omni test.  Display of said statistics will depend on the presence of the corresponding output selectors in the output selection. These are MIN_LATENCY, MAX_LATENCY, P50_LATENCY, P90_LATENCY, P99_LATENCY, MEAN_LATENCY and STDDEV_LATENCY.

-I lvl,[,intvl]

Specify the confidence level (either 95 or 99 - 99 is the default) and the width of the confidence interval as a percentage (default 10)

-l testlen

Specify the length of the test (default 10 seconds). A negative value sets the number of request/response transactions, or the number of bytes for a stream test.

-L name|ip,fam (*)

Set the local name|IP and/or address family for the socket used for the control connection to the remote netserver.

-n numcpus

Specify the number of CPU's in the system on those systems for which netperf has no way to find the number of CPU's programatically.

-N

This option will tell netperf to not establish a control connection to a remote  netserver.  Instead it will try to establish a data connection directly, using only the information supplied by the command line parameters and/or internal defaults.  Unless other ports are provided by the command line, by default the data connection will be to the "discard" port for a "STREAM" or "SENDFILE" test, the "echo" port for an "RR" test or the "chargen" port for a "MAERTS" test.

-o sizespec

Set an offset from the alignment specified with -a.

-O sizespec

As -o, but for the remote system.

-p portnum,locport (*)

Direct the control connection to a netserver listening on the specified port, rather than using a "netperf" entry in /etc/services or the internal default (port 12865). If ",locport" is specified the control connection will be established from that local port number.  Specifying a single port number with no comma will specify only the remote netserver port number and will leave local port number selection to the stack.

-P 0|1

Show (1) or suppress (0) the test banner.

-S

This option will cause an attempt to set SO_KEEPALIVE on the ends of the data connection for tests using BSD Sockets.  It will be made on the netperf side of classic tests, and both netperf and netserver side of an omni or migrated test.

-s seconds

This will cause netperf to sleep "seconds" seconds before transferring data over the data connection.

-t testname

Specify the test to perform. Valid testnames include, but are not limited to, nor always compiled-in:

TCP_STREAM
TCP_SENDFILE
TCP_MAERTS
TCP_RR
TCP_CRR
UDP_STREAM
UDP_RR
DLCO_STREAM
DLCO_RR
DLCL_STREAM
DLCL_RR
STREAM_STREAM
STREAM_RR
DG_STREAM
DG_RR
SCTP_STREAM
SCTP_STREAM_MANY
SCTP_RR
SCTP_RR_MANY
LOC_CPU
REM_CPU
-T lcpu,remcpu

Request that netperf be bound to CPU lcpu and/or netserver be bound to CPU rcpu.

-v verbosity

Set the verbosity level for the test (only with -P).

-V

Display the netperf version and exit.

Test Specific Options

-h

Display a usage string based on the test name set with -t, and exit.

Please consult the netperf manual Care and Feeding of Netperf 2.5.X (doc/netperf.[pdf|html|txt]) for more information. Or you can join and send email to netperf-talk@netperf.org.

Note

For those options taking two parms, at least one must be specified; specifying one value without a comma will set both parms to that value, specifying a value with a leading comma will set just the second parm, a value with a trailing comma will set just the first. To set each parm to unique values, specify both and separate them with a comma.

* For these options taking two parms, specifying one value with no comma will only set the first parm and will leave the second at the default value. To set the second value it must be preceded with a comma or be a comma-separated pair. This is to retain previous netperf behaviour.

Bugs

There are bound to be bugs. If you think you have found a bug, please mention it in netperf-talk@netperf.org.  List membership is required to send email to the list.  See http://www.netperf.org/cgi-bin/mailman/listinfo/netperf-talk . If all else fails send email to netperf-feedback@netperf.org.

See Also

netserver(1)
Care and Feeding of Netperf 2.5.X
http://www.netperf.org/

Authors

HP Information Networks Division - Networking Performance Team.

Rick Jones<rick.jones2@hp.com>
Karen ChoyHP IND
Dave Shield<daves@csc.liv.ac.uk>(man pages)

Others too numerous to mention here - see the AUTHORS file

Referenced By

netserver(1).