[netperf-dev] netperf2 commit notice r394 - in trunk: . doc src
raj at netperf.org
raj at netperf.org
Wed Jun 22 18:07:00 PDT 2011
Author: raj
Date: 2011-06-22 18:07:00 -0700 (Wed, 22 Jun 2011)
New Revision: 394
Modified:
trunk/Release_Notes
trunk/doc/netperf.html
trunk/doc/netperf.info
trunk/doc/netperf.pdf
trunk/doc/netperf.texi
trunk/doc/netperf.txt
trunk/src/nettest_omni.c
Log:
back to updating the manual
Modified: trunk/Release_Notes
===================================================================
--- trunk/Release_Notes 2011-06-22 22:57:05 UTC (rev 393)
+++ trunk/Release_Notes 2011-06-23 01:07:00 UTC (rev 394)
@@ -1,5 +1,11 @@
These are the Release Notes for post-revision 2.4.5 of netperf:
+*) The output of the -D global command line option has been enhanced
+ to include seconds and milliseconds since the epoch as returned by
+ a gettimeofday() call with a null pointer for the timezone. This
+ is in support of being able to easily shove interim results into an
+ rrdtool Round-Robin Database (RRD).
+
*) The "omni" tests will be compiled by default, and WANT_MIGRATION
are the default. One must ./configure with --enable-omni=no to
disable this.
Modified: trunk/doc/netperf.html
===================================================================
--- trunk/doc/netperf.html 2011-06-22 22:57:05 UTC (rev 393)
+++ trunk/doc/netperf.html 2011-06-23 01:07:00 UTC (rev 394)
@@ -1,16 +1,16 @@
<html lang="en">
<head>
-<title>Care and Feeding of Netperf 2.4.X</title>
+<title>Care and Feeding of Netperf 2.5.X</title>
<meta http-equiv="Content-Type" content="text/html">
-<meta name="description" content="Care and Feeding of Netperf 2.4.X">
-<meta name="generator" content="makeinfo 4.11">
+<meta name="description" content="Care and Feeding of Netperf 2.5.X">
+<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="top" href="#Top">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
This is Rick Jones' feeble attempt at a Texinfo-based manual for the
netperf benchmark.
-Copyright (C) 2005-2007 Hewlett-Packard Company
+Copyright (C) 2005-2011 Hewlett-Packard Company
Permission is granted to copy, distribute and/or modify this
document per the terms of the netperf source licence, a copy of
@@ -31,7 +31,7 @@
--></style>
</head>
<body>
-<h1 class="settitle">Care and Feeding of Netperf 2.4.X</h1>
+<h1 class="settitle">Care and Feeding of Netperf 2.5.X</h1>
<div class="contents">
<h2>Table of Contents</h2>
<ul>
@@ -75,7 +75,7 @@
</li></ul>
<li><a name="toc_Using-Netperf-to-Measure-Request_002fResponse" href="#Using-Netperf-to-Measure-Request_002fResponse">6 Using Netperf to Measure Request/Response</a>
<ul>
-<li><a href="#Issues-in-Request_002fResponse">6.1 Issues in Reqeust/Response</a>
+<li><a href="#Issues-in-Request_002fResponse">6.1 Issues in Request/Response</a>
<li><a href="#Options-Common-to-TCP-UDP-and-SCTP-_005fRR-tests">6.2 Options Common to TCP UDP and SCTP _RR tests</a>
<ul>
<li><a href="#TCP_005fRR">6.2.1 TCP_RR</a>
@@ -116,8 +116,8 @@
<div class="node">
+<a name="Top"></a>
<p><hr>
-<a name="Top"></a>
Next: <a rel="next" accesskey="n" href="#Introduction">Introduction</a>,
Previous: <a rel="previous" accesskey="p" href="#dir">(dir)</a>,
Up: <a rel="up" accesskey="u" href="#dir">(dir)</a>
@@ -129,7 +129,7 @@
<p>This is Rick Jones' feeble attempt at a Texinfo-based manual for the
netperf benchmark.
- <p>Copyright © 2005-2007 Hewlett-Packard Company
+ <p>Copyright © 2005-2011 Hewlett-Packard Company
<blockquote>
Permission is granted to copy, distribute and/or modify this document
per the terms of the netperf source licence, a copy of which can be
@@ -261,8 +261,8 @@
</ul>
<div class="node">
+<a name="Introduction"></a>
<p><hr>
-<a name="Introduction"></a>
Next: <a rel="next" accesskey="n" href="#Installing-Netperf">Installing Netperf</a>,
Previous: <a rel="previous" accesskey="p" href="#Top">Top</a>,
Up: <a rel="up" accesskey="u" href="#Top">Top</a>
@@ -332,8 +332,8 @@
</ul>
<div class="node">
+<a name="Conventions"></a>
<p><hr>
-<a name="Conventions"></a>
Previous: <a rel="previous" accesskey="p" href="#Introduction">Introduction</a>,
Up: <a rel="up" accesskey="u" href="#Introduction">Introduction</a>
@@ -391,8 +391,8 @@
<pre class="example"> netperf <global> -- <test-specific>
</pre>
<div class="node">
+<a name="Installing-Netperf"></a>
<p><hr>
-<a name="Installing-Netperf"></a>
Next: <a rel="next" accesskey="n" href="#The-Design-of-Netperf">The Design of Netperf</a>,
Previous: <a rel="previous" accesskey="p" href="#Introduction">Introduction</a>,
Up: <a rel="up" accesskey="u" href="#Top">Top</a>
@@ -433,8 +433,8 @@
</ul>
<div class="node">
+<a name="Getting-Netperf-Bits"></a>
<p><hr>
-<a name="Getting-Netperf-Bits"></a>
Next: <a rel="next" accesskey="n" href="#Installing-Netperf-Bits">Installing Netperf Bits</a>,
Previous: <a rel="previous" accesskey="p" href="#Installing-Netperf">Installing Netperf</a>,
Up: <a rel="up" accesskey="u" href="#Installing-Netperf">Installing Netperf</a>
@@ -476,8 +476,8 @@
and perhaps to generate HP-UX swinstall“depots.”
<div class="node">
+<a name="Installing-Netperf-Bits"></a>
<p><hr>
-<a name="Installing-Netperf-Bits"></a>
Next: <a rel="next" accesskey="n" href="#Verifying-Installation">Verifying Installation</a>,
Previous: <a rel="previous" accesskey="p" href="#Getting-Netperf-Bits">Getting Netperf Bits</a>,
Up: <a rel="up" accesskey="u" href="#Installing-Netperf">Installing Netperf</a>
@@ -515,6 +515,22 @@
command. As of this writing, the configure script will not include
those tests automagically.
+ <p><a name="index-g_t_002d_002denable_002domni_002c-Configure-8"></a>Starting with version 2.5.0, netperf is migrating most of the
+“classic” netperf tests found in <samp><span class="file">src/nettest_bsd.c</span></samp> to the
+so-called “omni” tests (aka “two routines to run them all”) found
+in <samp><span class="file">src/nettest_omni.c</span></samp>. This migration enables a number of new
+features such as greater control over what output is included, and new
+things to output. The “omni” test is enabled by default in 2.5.0
+and a number of the classic tests are migrated - you can tell this
+from the presence of “MIGRATED” in the test banner. If you
+encounter problems with either the omni or migrated tests, please
+first attempt to obtain resolution via
+<a href="mailto:netperf-talk at netperf.org">netperf-talk at netperf.org</a> or
+<a href="mailto:netperf-feedback at netperf.org">netperf-feedback at netperf.org</a>. If that is unsuccessful, you
+can add a <code>--enable-omni=no</code> to the configure command and the
+omni tests will not be compiled-in and the classic tests will not be
+migrated.
+
<p>On some platforms, it may be necessary to precede the configure
command with a CFLAGS and/or LIBS variable as the netperf configure
script is not yet smart enough to set them itself. Whenever possible,
@@ -522,7 +538,7 @@
Expertise and assistance in making that more automagical in the
configure script would be most welcome.
- <p><a name="index-Limiting-Bandwidth-8"></a><a name="index-Bandwidth-Limitation-9"></a><a name="index-g_t_002d_002denable_002dintervals_002c-Configure-10"></a><a name="index-g_t_002d_002denable_002dhistogram_002c-Configure-11"></a>Other optional configure-time settings include
+ <p><a name="index-Limiting-Bandwidth-9"></a><a name="index-Bandwidth-Limitation-10"></a><a name="index-g_t_002d_002denable_002dintervals_002c-Configure-11"></a><a name="index-g_t_002d_002denable_002dhistogram_002c-Configure-12"></a>Other optional configure-time settings include
<code>--enable-intervals=yes</code> to give netperf the ability to “pace”
its _STREAM tests and <code>--enable-histogram=yes</code> to have netperf
keep a histogram of interesting times. Each of these will have some
@@ -568,32 +584,43 @@
<p>The <samp><span class="option">--enable-demo=yes</span></samp> configure option will cause code to be
included to report interim results during a test run. The rate at
which interim results are reported can then be controlled via the
-global <samp><span class="option">-D</span></samp> option. Here is an example of –enable-demo mode
-output:
+global <samp><span class="option">-D</span></samp> option. Here is an example of <samp><span class="option">-D</span></samp> output:
-<pre class="example"> src/netperf -D 1.35 -H lag -f M
- TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to lag.hpl.hp.com (15.4.89.214) port 0 AF_INET : demo
- Interim result: 9.66 MBytes/s over 1.67 seconds
- Interim result: 9.64 MBytes/s over 1.35 seconds
- Interim result: 9.58 MBytes/s over 1.36 seconds
- Interim result: 9.51 MBytes/s over 1.36 seconds
- Interim result: 9.71 MBytes/s over 1.35 seconds
- Interim result: 9.66 MBytes/s over 1.36 seconds
- Interim result: 9.61 MBytes/s over 1.36 seconds
+<pre class="example"> $ src/netperf -D 1.35 -H tardy.hpl.hp.com -f M
+ MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to tardy.hpl.hp.com (15.9.116.144) port 0 AF_INET : demo
+ Interim result: 5.41 MBytes/s over 1.35 seconds ending at 1308789765.848
+ Interim result: 11.07 MBytes/s over 1.36 seconds ending at 1308789767.206
+ Interim result: 16.00 MBytes/s over 1.36 seconds ending at 1308789768.566
+ Interim result: 20.66 MBytes/s over 1.36 seconds ending at 1308789769.922
+ Interim result: 22.74 MBytes/s over 1.36 seconds ending at 1308789771.285
+ Interim result: 23.07 MBytes/s over 1.36 seconds ending at 1308789772.647
+ Interim result: 23.77 MBytes/s over 1.37 seconds ending at 1308789774.016
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. MBytes/sec
- 32768 16384 16384 10.00 9.61
+ 87380 16384 16384 10.06 17.81
</pre>
<p>Notice how the units of the interim result track that requested by the
<samp><span class="option">-f</span></samp> option. Also notice that sometimes the interval will be
longer than the value specified in the <samp><span class="option">-D</span></samp> option. This is
-normal and stems from how demo mode is implemented without relying on
-interval timers, but by calculating how many units of work must be
-performed to take at least the desired interval.
+normal and stems from how demo mode is implemented not by relying on
+interval timers or frequent calls to get the current time, but by
+calculating how many units of work must be performed to take at least
+the desired interval.
+ <p>Those familiar with this option in earlier versions of netperf will
+note the addition of the “ending at” text. This is the time as
+reported by a <code>gettimeofday()</code> call (or its emulation) with a
+<code>NULL</code> timezone pointer. This addition is intended to make it
+easier to insert interim results into an
+<a href="http://oss.oetiker.ch/rrdtool/doc/rrdtool.en.html">rrdtool</a>
+Round-Robin Database (RRD). A likely bug-riddled example of doing so
+can be found in <samp><span class="file">doc/examples/netperf_interim_to_rrd.sh</span></samp>. The
+time is reported out to milliseconds rather than microseconds because
+that is the most rrdtool understands as of the time of this writing.
+
<p>As of this writing, a <code>make install</code> will not actually update the
files <samp><span class="file">/etc/services</span></samp> and/or <samp><span class="file">/etc/inetd.conf</span></samp> or their
platform-specific equivalents. It remains necessary to perform that
@@ -617,8 +644,8 @@
difficult for someone to assist you.
<div class="node">
+<a name="Verifying-Installation"></a>
<p><hr>
-<a name="Verifying-Installation"></a>
Previous: <a rel="previous" accesskey="p" href="#Installing-Netperf-Bits">Installing Netperf Bits</a>,
Up: <a rel="up" accesskey="u" href="#Installing-Netperf">Installing Netperf</a>
@@ -641,8 +668,8 @@
87380 16384 16384 10.00 2997.84
</pre>
<div class="node">
+<a name="The-Design-of-Netperf"></a>
<p><hr>
-<a name="The-Design-of-Netperf"></a>
Next: <a rel="next" accesskey="n" href="#Global-Command_002dline-Options">Global Command-line Options</a>,
Previous: <a rel="previous" accesskey="p" href="#Installing-Netperf">Installing Netperf</a>,
Up: <a rel="up" accesskey="u" href="#Top">Top</a>
@@ -651,7 +678,7 @@
<h2 class="chapter">3 The Design of Netperf</h2>
-<p><a name="index-Design-of-Netperf-12"></a>
+<p><a name="index-Design-of-Netperf-13"></a>
Netperf is designed around a basic client-server model. There are
two executables - netperf and netserver. Generally you will only
execute the netperf program, with the netserver program being invoked
@@ -681,9 +708,9 @@
<li><a accesskey="1" href="#CPU-Utilization">CPU Utilization</a>
</ul>
- <p><a name="index-CPU-Utilization-13"></a><div class="node">
+<div class="node">
+<a name="CPU-Utilization"></a>
<p><hr>
-<a name="CPU-Utilization"></a>
Previous: <a rel="previous" accesskey="p" href="#The-Design-of-Netperf">The Design of Netperf</a>,
Up: <a rel="up" accesskey="u" href="#The-Design-of-Netperf">The Design of Netperf</a>
@@ -691,7 +718,8 @@
<h3 class="section">3.1 CPU Utilization</h3>
-<p>CPU utilization is an important, and alas all-too infrequently
+<p><a name="index-CPU-Utilization-14"></a>
+CPU utilization is an important, and alas all-too infrequently
reported component of networking performance. Unfortunately, it can
be one of the most difficult metrics to measure accurately as many
systems offer mechanisms that are at best il-suited to measuring CPU
@@ -832,9 +860,9 @@
mpstat are often based on the same mechanisms used by netperf.
<div class="node">
-<p><hr>
<a name="Global-Command-line-Options"></a>
<a name="Global-Command_002dline-Options"></a>
+<p><hr>
Next: <a rel="next" accesskey="n" href="#Using-Netperf-to-Measure-Bulk-Data-Transfer">Using Netperf to Measure Bulk Data Transfer</a>,
Previous: <a rel="previous" accesskey="p" href="#The-Design-of-Netperf">The Design of Netperf</a>,
Up: <a rel="up" accesskey="u" href="#Top">Top</a>
@@ -855,9 +883,9 @@
</ul>
<div class="node">
-<p><hr>
<a name="Command-line-Options-Syntax"></a>
<a name="Command_002dline-Options-Syntax"></a>
+<p><hr>
Next: <a rel="next" accesskey="n" href="#Global-Options">Global Options</a>,
Previous: <a rel="previous" accesskey="p" href="#Global-Command_002dline-Options">Global Command-line Options</a>,
Up: <a rel="up" accesskey="u" href="#Global-Command_002dline-Options">Global Command-line Options</a>
@@ -893,8 +921,8 @@
<p>sets just test-specific options.
<div class="node">
+<a name="Global-Options"></a>
<p><hr>
-<a name="Global-Options"></a>
Previous: <a rel="previous" accesskey="p" href="#Command_002dline-Options-Syntax">Command-line Options Syntax</a>,
Up: <a rel="up" accesskey="u" href="#Global-Command_002dline-Options">Global Command-line Options</a>
@@ -904,7 +932,7 @@
<h3 class="section">4.2 Global Options</h3>
-<a name="index-g_t_002da_002c-Global-14"></a>
+<a name="index-g_t_002da_002c-Global-15"></a>
<dl><dt><code>-a <sizespec></code><dd>This option allows you to alter the alignment of the buffers used in
the sending and receiving calls on the local system.. Changing the
alignment of the buffers can force the system to use different copy
@@ -916,19 +944,19 @@
2^10 (KB) respectively. A suffix of “g,” “m” or “k” will specify
units of 10^9, 10^6 or 10^3 bytes respectively. [Default: 8 bytes]
- <p><a name="index-g_t_002dA_002c-Global-15"></a><br><dt><code>-A <sizespec></code><dd>This option is identical to the <samp><span class="option">-a</span></samp> option with the difference
+ <p><a name="index-g_t_002dA_002c-Global-16"></a><br><dt><code>-A <sizespec></code><dd>This option is identical to the <samp><span class="option">-a</span></samp> option with the difference
being it affects alignments for the remote system.
- <p><a name="index-g_t_002db_002c-Global-16"></a><br><dt><code>-b <size></code><dd>This option is only present when netperf has been configure with
+ <p><a name="index-g_t_002db_002c-Global-17"></a><br><dt><code>-b <size></code><dd>This option is only present when netperf has been configure with
–enable-intervals=yes prior to compilation. It sets the size of the
burst of send calls in a _STREAM test. When used in conjunction with
the <samp><span class="option">-w</span></samp> option it can cause the rate at which data is sent to
be “paced.”
- <p><a name="index-g_t_002dB_002c-Global-17"></a><br><dt><code>-B <string></code><dd>This option will cause <samp><span class="option"><string></span></samp> to be appended to the brief
+ <p><a name="index-g_t_002dB_002c-Global-18"></a><br><dt><code>-B <string></code><dd>This option will cause <samp><span class="option"><string></span></samp> to be appended to the brief
(see -P) output of netperf.
- <p><a name="index-g_t_002dc_002c-Global-18"></a><br><dt><code>-c [rate]</code><dd>This option will ask that CPU utilization and service demand be
+ <p><a name="index-g_t_002dc_002c-Global-19"></a><br><dt><code>-c [rate]</code><dd>This option will ask that CPU utilization and service demand be
calculated for the local system. For those CPU utilization mechanisms
requiring calibration, the options rate parameter may be specified to
preclude running another calibration step, saving 40 seconds of time.
@@ -936,18 +964,18 @@
optional rate parameter will be utterly and completely ignored.
[Default: no CPU measurements]
- <p><a name="index-g_t_002dC_002c-Global-19"></a><br><dt><code>-C [rate]</code><dd>This option requests CPU utilization and service demand calculations
+ <p><a name="index-g_t_002dC_002c-Global-20"></a><br><dt><code>-C [rate]</code><dd>This option requests CPU utilization and service demand calculations
for the remote system. It is otherwise identical to the <samp><span class="option">-c</span></samp>
option.
- <p><a name="index-g_t_002dd_002c-Global-20"></a><br><dt><code>-d</code><dd>Each instance of this option will increase the quantity of debugging
+ <p><a name="index-g_t_002dd_002c-Global-21"></a><br><dt><code>-d</code><dd>Each instance of this option will increase the quantity of debugging
output displayed during a test. If the debugging output level is set
high enough, it may have a measurable effect on performance.
Debugging information for the local system is printed to stdout.
Debugging information for the remote system is sent by default to the
file <samp><span class="file">/tmp/netperf.debug</span></samp>. [Default: no debugging output]
- <p><a name="index-g_t_002dD_002c-Global-21"></a><br><dt><code>-D [interval,units]</code><dd>This option is only available when netperf is configured with
+ <p><a name="index-g_t_002dD_002c-Global-22"></a><br><dt><code>-D [interval,units]</code><dd>This option is only available when netperf is configured with
–enable-demo=yes. When set, it will cause netperf to emit periodic
reports of performance during the run. [<var>interval</var>,<var>units</var>]
follow the semantics of an optionspec. If specified,
@@ -958,13 +986,15 @@
<var>interval</var> defaults to one second and <var>units</var> to values
specific to each test type.
- <p><a name="index-g_t_002df_002c-Global-22"></a><br><dt><code>-f G|M|K|g|m|k</code><dd>This option can be used to change the reporting units for _STREAM
+ <p><a name="index-g_t_002df_002c-Global-23"></a><br><dt><code>-f G|M|K|g|m|k|x</code><dd>This option can be used to change the reporting units for _STREAM
tests. Arguments of “G,” “M,” or “K” will set the units to
2^30, 2^20 or 2^10 bytes/s respectively (EG power of two GB, MB or
KB). Arguments of “g,” “,m” or “k” will set the units to 10^9,
-10^6 or 10^3 bits/s respectively. [Default: 'm' or 10^6 bits/s]
+10^6 or 10^3 bits/s respectively. An argument of “x” requests the
+units be transactions per second and is only meaninful for a
+request-response test. [Default: “m” or 10^6 bits/s]
- <p><a name="index-g_t_002dF_002c-Global-23"></a><br><dt><code>-F <fillfile></code><dd>This option specified the file from which send which buffers will be
+ <p><a name="index-g_t_002dF_002c-Global-24"></a><br><dt><code>-F <fillfile></code><dd>This option specified the file from which send which buffers will be
pre-filled . While the buffers will contain data from the specified
file, the file is not fully transfered to the remote system as the
receiving end of the test will not write the contents of what it
@@ -976,10 +1006,10 @@
utilizing the sendfile() or related calls because sendfile tests need
a name of a file to reference.
- <p><a name="index-g_t_002dh_002c-Global-24"></a><br><dt><code>-h</code><dd>This option causes netperf to display its usage string and exit to the
+ <p><a name="index-g_t_002dh_002c-Global-25"></a><br><dt><code>-h</code><dd>This option causes netperf to display its usage string and exit to the
exclusion of all else.
- <p><a name="index-g_t_002dH_002c-Global-25"></a><br><dt><code>-H <optionspec></code><dd>This option will set the name of the remote system and or the address
+ <p><a name="index-g_t_002dH_002c-Global-26"></a><br><dt><code>-H <optionspec></code><dd>This option will set the name of the remote system and or the address
family used for the control connection. For example:
<pre class="example"> -H linger,4
</pre>
@@ -1014,7 +1044,7 @@
<p>[Default: “localhost” for the remote name/IP address and “0” (eg
AF_UNSPEC) for the remote address family.]
- <p><a name="index-g_t_002dI_002c-Global-26"></a><br><dt><code>-I <optionspec></code><dd>This option enables the calculation of confidence intervals and sets
+ <p><a name="index-g_t_002dI_002c-Global-27"></a><br><dt><code>-I <optionspec></code><dd>This option enables the calculation of confidence intervals and sets
the confidence and width parameters with the first have of the
optionspec being either 99 or 95 for 99% or 95% confidence
respectively. The second value of the optionspec specifies the width
@@ -1055,7 +1085,15 @@
(described below) and/or increasing the iteration length with the
<samp><span class="option">-l</span></samp> option might resolve the situation.
- <p><a name="index-g_t_002di_002c-Global-27"></a><br><dt><code>-i <sizespec></code><dd>This option enables the calculation of confidence intervals and sets
+ <p>In an explicit “omni” test, failure to meet the confidence intervals
+will not result in netperf emitting a warning. To verify the hitting,
+or not, of the confidence intervals one will need to include them in
+output specification in the test-specific <samp><span class="option">-o</span></samp>, <samp><span class="option">-O</span></samp> or
+<samp><span class="option">k</span></samp> output selection options. The warning about not hitting
+the confidence intervals will remain in a “migrated” classic netperf
+test.
+
+ <p><a name="index-g_t_002di_002c-Global-28"></a><br><dt><code>-i <sizespec></code><dd>This option enables the calculation of confidence intervals and sets
the minimum and maximum number of iterations to run in attempting to
achieve the desired confidence interval. The first value sets the
maximum number of iterations to run, the second, the minimum. The
@@ -1076,7 +1114,24 @@
number of iterations multiplied by the test length supplied by the
<samp><span class="option">-l</span></samp> option.
- <p><a name="index-g_t_002dl_002c-Global-28"></a><br><dt><code>-l testlen</code><dd>This option controls the length of any <b>one</b> iteration of the requested
+ <p><a name="index-g_t_002dj_002c-Global-29"></a><br><dt><code>-j</code><dd>This option instructs netperf to keep additional timing statistics
+when explicitly running an “omni” test of the request/response
+variety. These can be output when the test-specific <samp><span class="option">-o</span></samp>,
+<samp><span class="option">-O</span></samp> or <samp><span class="option">-k</span></samp> output selectors include one or more of:
+
+ <ul>
+<li>MIN_LATENCY
+<li>MAX_LATENCY
+<li>P50_LATENCY
+<li>P90_LATENCY
+<li>P99_LATENCY
+<li>MEAN_LATENCY
+<li>STDDEV_LATENCY
+</ul>
+
+ <p>Added for netperf 2.5.0.
+
+ <p><a name="index-g_t_002dl_002c-Global-30"></a><br><dt><code>-l testlen</code><dd>This option controls the length of any <b>one</b> iteration of the requested
test. A positive value for <var>testlen</var> will run each iteration of
the test for at least <var>testlen</var> seconds. A negative value for
<var>testlen</var> will run each iteration for the absolute value of
@@ -1096,7 +1151,7 @@
between the minimum and maximum iteration count multiplied by
<var>testlen</var>.
- <p><a name="index-g_t_002dL_002c-Global-29"></a><br><dt><code>-L <optionspec></code><dd>This option is identical to the <samp><span class="option">-H</span></samp> option with the difference
+ <p><a name="index-g_t_002dL_002c-Global-31"></a><br><dt><code>-L <optionspec></code><dd>This option is identical to the <samp><span class="option">-H</span></samp> option with the difference
being it sets the _local_ hostname/IP and/or address family
information. This option is generally unnecessary, but can be useful
when you wish to make sure that the netperf control and data
@@ -1107,7 +1162,7 @@
<p>[Default: 0.0.0.0 (eg INADDR_ANY) for IPv4 and ::0 for IPv6 for the
local name. AF_UNSPEC for the local address family.]
- <p><a name="index-g_t_002dn_002c-Global-30"></a><br><dt><code>-n numcpus</code><dd>This option tells netperf how many CPUs it should ass-u-me are active
+ <p><a name="index-g_t_002dn_002c-Global-32"></a><br><dt><code>-n numcpus</code><dd>This option tells netperf how many CPUs it should ass-u-me are active
on the system running netperf. In particular, this is used for the
<a href="#CPU-Utilization">CPU utilization</a> and service demand calculations.
On certain systems, netperf is able to determine the number of CPU's
@@ -1119,7 +1174,12 @@
determine the number of CPUs that can only be set for netserver via a
netserver <samp><span class="option">-n</span></samp> command-line option.
- <p><a name="index-g_t_002dN_002c-Global-31"></a><br><dt><code>-N</code><dd>This option tells netperf to forego establishing a control
+ <p>As it is almost universally possible for netperf/netserver to
+determine the number of CPUs on the system automagically, 99 times out
+of 10 this option should not be necessary and may be removed in a
+future release of netperf.
+
+ <p><a name="index-g_t_002dN_002c-Global-33"></a><br><dt><code>-N</code><dd>This option tells netperf to forego establishing a control
connection. This makes it is possible to run some limited netperf
tests without a corresponding netserver on the remote system.
@@ -1154,7 +1214,7 @@
<p>Added in netperf 2.4.3.
- <p><a name="index-g_t_002do_002c-Global-32"></a><br><dt><code>-o <sizespec></code><dd>The value(s) passed-in with this option will be used as an offset
+ <p><a name="index-g_t_002do_002c-Global-34"></a><br><dt><code>-o <sizespec></code><dd>The value(s) passed-in with this option will be used as an offset
added to the alignment specified with the <samp><span class="option">-a</span></samp> option. For
example:
<pre class="example"> -o 3 -a 4096
@@ -1163,11 +1223,11 @@
begin three bytes past an address aligned to 4096 bytes. [Default: 0
bytes]
- <p><a name="index-g_t_002dO_002c-Global-33"></a><br><dt><code>-O <sizespec></code><dd>This option behaves just as the <samp><span class="option">-o</span></samp> option but on the remote
+ <p><a name="index-g_t_002dO_002c-Global-35"></a><br><dt><code>-O <sizespec></code><dd>This option behaves just as the <samp><span class="option">-o</span></samp> option but on the remote
system and in conjunction with the <samp><span class="option">-A</span></samp> option. [Default: 0
bytes]
- <p><a name="index-g_t_002dp_002c-Global-34"></a><br><dt><code>-p <optionspec></code><dd>The first value of the optionspec passed-in with this option tells
+ <p><a name="index-g_t_002dp_002c-Global-36"></a><br><dt><code>-p <optionspec></code><dd>The first value of the optionspec passed-in with this option tells
netperf the port number at which it should expect the remote netserver
to be listening for control connections. The second value of the
optionspec will request netperf to bind to that local port number
@@ -1187,14 +1247,14 @@
is looking to run netperf through those evil, end-to-end breaking
things known as firewalls.
- <p><a name="index-g_t_002dP_002c-Global-35"></a><br><dt><code>-P 0|1</code><dd>A value of “1” for the <samp><span class="option">-P</span></samp> option will enable display of
+ <p><a name="index-g_t_002dP_002c-Global-37"></a><br><dt><code>-P 0|1</code><dd>A value of “1” for the <samp><span class="option">-P</span></samp> option will enable display of
the test banner. A value of “0” will disable display of the test
banner. One might want to disable display of the test banner when
running the same basic test type (eg TCP_STREAM) multiple times in
succession where the test banners would then simply be redundant and
unnecessarily clutter the output. [Default: 1 - display test banners]
- <p><a name="index-g_t_002dt_002c-Global-36"></a><br><dt><code>-t testname</code><dd>This option is used to tell netperf which test you wish to run. As of
+ <p><a name="index-g_t_002dt_002c-Global-38"></a><br><dt><code>-t testname</code><dd>This option is used to tell netperf which test you wish to run. As of
this writing, valid values for <var>testname</var> include:
<ul>
<li><a href="#TCP_005fSTREAM">TCP_STREAM</a>, <a href="#TCP_005fMAERTS">TCP_MAERTS</a>, <a href="#TCP_005fSENDFILE">TCP_SENDFILE</a>, <a href="#TCP_005fRR">TCP_RR</a>, <a href="#TCP_005fCRR">TCP_CRR</a>, <a href="#TCP_005fCC">TCP_CC</a>
@@ -1204,18 +1264,19 @@
<li><a href="#SCTP_005fSTREAM">SCTP_STREAM</a>, <a href="#SCTP_005fRR">SCTP_RR</a>
<li><a href="#DLCO_005fSTREAM">DLCO_STREAM</a>, <a href="#DLCO_005fRR">DLCO_RR</a>, <a href="#DLCL_005fSTREAM">DLCL_STREAM</a>, <a href="#DLCL_005fRR">DLCL_RR</a>
<li><a href="#Other-Netperf-Tests">LOC_CPU</a>, <a href="#Other-Netperf-Tests">REM_CPU</a>
+<li>OMNI
</ul>
Not all tests are always compiled into netperf. In particular, the
-“XTI,” “SCTP,” “UNIX,” and “DL*” tests are only included in
+“XTI,” “SCTP,” “UNIXDOMAIN,” and “DL*” tests are only included in
netperf when configured with
-<samp><span class="option">--enable-[xti|sctp|unix|dlpi]=yes</span></samp>.
+<samp><span class="option">--enable-[xti|sctp|unixdomain|dlpi]=yes</span></samp>.
<p>Netperf only runs one type of test no matter how many <samp><span class="option">-t</span></samp>
options may be present on the command-line. The last <samp><span class="option">-t</span></samp>
global command-line option will determine the test to be
run. [Default: TCP_STREAM]
- <p><a name="index-g_t_002dv_002c-Global-37"></a><br><dt><code>-v verbosity</code><dd>This option controls how verbose netperf will be in its output, and is
+ <p><a name="index-g_t_002dv_002c-Global-39"></a><br><dt><code>-v verbosity</code><dd>This option controls how verbose netperf will be in its output, and is
often used in conjunction with the <samp><span class="option">-P</span></samp> option. If the
verbosity is set to a value of “0” then only the test's SFM (Single
Figure of Merit) is displayed. If local <a href="#CPU-Utilization">CPU utilization</a> is requested via the <samp><span class="option">-c</span></samp> option then the SFM is
@@ -1235,16 +1296,16 @@
each transaction if netperf was configured with
<samp><span class="option">--enable-histogram=yes</span></samp>. [Default: 1 - normal verbosity]
- <p><a name="index-g_t_002dV_002c-Global-38"></a><br><dt><code>-V</code><dd>This option displays the netperf version and then exits.
+ <p><a name="index-g_t_002dV_002c-Global-40"></a><br><dt><code>-V</code><dd>This option displays the netperf version and then exits.
<p>Added in netperf 2.4.4.
- <p><a name="index-g_t_002dw_002c-Global-39"></a><br><dt><code>-w time</code><dd>If netperf was configured with <samp><span class="option">--enable-intervals=yes</span></samp> then
+ <p><a name="index-g_t_002dw_002c-Global-41"></a><br><dt><code>-w time</code><dd>If netperf was configured with <samp><span class="option">--enable-intervals=yes</span></samp> then
this value will set the inter-burst time to time milliseconds, and the
<samp><span class="option">-b</span></samp> option will set the number of sends per burst. The actual
inter-burst time may vary depending on the system's timer resolution.
- <p><a name="index-g_t_002dW_002c-Global-40"></a><br><dt><code>-W <sizespec></code><dd>This option controls the number of buffers in the send (first or only
+ <p><a name="index-g_t_002dW_002c-Global-42"></a><br><dt><code>-W <sizespec></code><dd>This option controls the number of buffers in the send (first or only
value) and or receive (second or only value) buffer rings. Unlike
some benchmarks, netperf does not continuously send or receive from a
single buffer. Instead it rotates through a ring of
@@ -1253,7 +1314,7 @@
by the send <samp><span class="option">-m</span></samp> or receive <samp><span class="option">-M</span></samp> buffer size
respectively]
- <p><a name="index-g_t_002d4_002c-Global-41"></a><br><dt><code>-4</code><dd>Specifying this option will set both the local and remote address
+ <p><a name="index-g_t_002d4_002c-Global-43"></a><br><dt><code>-4</code><dd>Specifying this option will set both the local and remote address
families to AF_INET - that is use only IPv4 addresses on the control
connection. This can be overridden by a subsequent <samp><span class="option">-6</span></samp>,
<samp><span class="option">-H</span></samp> or <samp><span class="option">-L</span></samp> option. Basically, the last option
@@ -1261,7 +1322,7 @@
test-specific option, this will be inherited for the data connection
as well.
- <p><a name="index-g_t_002d6_002c-Global-42"></a><br><dt><code>-6</code><dd>Specifying this option will set both local and and remote address
+ <p><a name="index-g_t_002d6_002c-Global-44"></a><br><dt><code>-6</code><dd>Specifying this option will set both local and and remote address
families to AF_INET6 - that is use only IPv6 addresses on the control
connection. This can be overridden by a subsequent <samp><span class="option">-4</span></samp>,
<samp><span class="option">-H</span></samp> or <samp><span class="option">-L</span></samp> option. Basically, the last address family
@@ -1271,8 +1332,8 @@
</dl>
<div class="node">
+<a name="Using-Netperf-to-Measure-Bulk-Data-Transfer"></a>
<p><hr>
-<a name="Using-Netperf-to-Measure-Bulk-Data-Transfer"></a>
Next: <a rel="next" accesskey="n" href="#Using-Netperf-to-Measure-Request_002fResponse">Using Netperf to Measure Request/Response</a>,
Previous: <a rel="previous" accesskey="p" href="#Global-Command_002dline-Options">Global Command-line Options</a>,
Up: <a rel="up" accesskey="u" href="#Top">Top</a>
@@ -1293,8 +1354,8 @@
</ul>
<div class="node">
+<a name="Issues-in-Bulk-Transfer"></a>
<p><hr>
-<a name="Issues-in-Bulk-Transfer"></a>
Next: <a rel="next" accesskey="n" href="#Options-common-to-TCP-UDP-and-SCTP-tests">Options common to TCP UDP and SCTP tests</a>,
Previous: <a rel="previous" accesskey="p" href="#Using-Netperf-to-Measure-Bulk-Data-Transfer">Using Netperf to Measure Bulk Data Transfer</a>,
Up: <a rel="up" accesskey="u" href="#Using-Netperf-to-Measure-Bulk-Data-Transfer">Using Netperf to Measure Bulk Data Transfer</a>
@@ -1374,12 +1435,28 @@
is distributed in source form so one can compile it on the platofrm(s)
of interest.
+ <p>If running a version 2.5.0 or later “omni” test under Linux one can
+include either or both of:
+ <ul>
+<li>LOCAL_TRANSPORT_RETRANS
+<li>REMOTE_TRANSPORT_RETRANS
+</ul>
+
+ <p>in the values provided via a test-specific <samp><span class="option">-o</span></samp>, <samp><span class="option">-O</span></samp>,
+or <samp><span class="option">-k</span></samp> output selction option and netperf will report the
+retransmissions experienced on the data connection, as reported via a
+<code>getsockopt(TCP_INFO)</code> call. If confidence intervals have been
+requested via the global <samp><span class="option">-I</span></samp> or <samp><span class="option">-i</span></samp> options, the
+reported value(s) will be for the last iteration. If the test is over
+a protocol other than TCP, or on a platform other than Linux, the
+results are undefined.
+
<p>While it was written with HP-UX's netstat in mind, the
<a href="ftp://ftp.cup.hp.com/dist/networking/briefs/annotated_netstat.txt">annotated netstat</a> writeup may be helpful with other platforms as well.
<div class="node">
+<a name="Options-common-to-TCP-UDP-and-SCTP-tests"></a>
<p><hr>
-<a name="Options-common-to-TCP-UDP-and-SCTP-tests"></a>
Previous: <a rel="previous" accesskey="p" href="#Issues-in-Bulk-Transfer">Issues in Bulk Transfer</a>,
Up: <a rel="up" accesskey="u" href="#Using-Netperf-to-Measure-Bulk-Data-Transfer">Using Netperf to Measure Bulk Data Transfer</a>
@@ -1394,7 +1471,7 @@
include:
-<a name="index-g_t_002dh_002c-Test_002dspecific-43"></a>
+<a name="index-g_t_002dh_002c-Test_002dspecific-45"></a>
<dl><dt><code>-h</code><dd>Display the test-suite-specific usage string and exit. For a TCP_ or
UDP_ test this will be the usage string from the source file
nettest_bsd.c. For an XTI_ test, this will be the usage string from
@@ -1408,13 +1485,13 @@
data (aka test) connection only. Settings for the control connection
are left unchanged.
- <p><a name="index-g_t_002dL_002c-Test_002dspecific-44"></a><br><dt><code>-L <optionspec></code><dd>The test-specific <samp><span class="option">-L</span></samp> option is identical to the test-specific
+ <p><a name="index-g_t_002dL_002c-Test_002dspecific-46"></a><br><dt><code>-L <optionspec></code><dd>The test-specific <samp><span class="option">-L</span></samp> option is identical to the test-specific
<samp><span class="option">-H</span></samp> option except it affects the local hostname|IP and address
family information. As with its global command-line counterpart, this
is generally only useful when measuring though those evil, end-to-end
breaking things called firewalls.
- <p><a name="index-g_t_002dm_002c-Test_002dspecific-45"></a><br><dt><code>-m bytes</code><dd>Set the size of the buffer passed-in to the “send” calls of a
+ <p><a name="index-g_t_002dm_002c-Test_002dspecific-47"></a><br><dt><code>-m bytes</code><dd>Set the size of the buffer passed-in to the “send” calls of a
_STREAM test. Note that this may have only an indirect effect on the
size of the packets sent over the network, and certain Layer 4
protocols do _not_ preserve or enforce message boundaries, so setting
@@ -1430,7 +1507,7 @@
socket buffer size for the connection - either the system's default or
the value set via the <samp><span class="option">-s</span></samp> option.]
- <p><a name="index-g_t_002dM_002c-Test_002dspecific-46"></a><br><dt><code>-M bytes</code><dd>Set the size of the buffer passed-in to the “recv” calls of a
+ <p><a name="index-g_t_002dM_002c-Test_002dspecific-48"></a><br><dt><code>-M bytes</code><dd>Set the size of the buffer passed-in to the “recv” calls of a
_STREAM test. This will be an upper bound on the number of bytes
received per receive call. By default the units are bytes, but suffix
of “G,” “M,” or “K” will specify the units to be 2^30 (GB), 2^20
@@ -1443,9 +1520,9 @@
socket buffer size for the data connection - either the system's
default or the value set via the <samp><span class="option">-S</span></samp> option.]
- <p><a name="index-g_t_002dP_002c-Test_002dspecific-47"></a><br><dt><code>-P <optionspec></code><dd>Set the local and/or remote port numbers for the data connection.
+ <p><a name="index-g_t_002dP_002c-Test_002dspecific-49"></a><br><dt><code>-P <optionspec></code><dd>Set the local and/or remote port numbers for the data connection.
- <p><a name="index-g_t_002ds_002c-Test_002dspecific-48"></a><br><dt><code>-s <sizespec></code><dd>This option sets the local send and receive socket buffer sizes for
+ <p><a name="index-g_t_002ds_002c-Test_002dspecific-50"></a><br><dt><code>-s <sizespec></code><dd>This option sets the local send and receive socket buffer sizes for
the data connection to the value(s) specified. Often, this will
affect the advertised and/or effective TCP or other window, but on
some platforms it may not. By default the units are bytes, but suffix
@@ -1461,14 +1538,14 @@
<p>While the historic expectation is that setting the socket buffer size
has a direct effect on say the TCP window, today that may not hold
true for all stacks. Further, while the historic expectation is that
-the value specified in a setsockopt() call will be the value returned
-via a getsockopt() call, at least one stack is known to deliberately
+the value specified in a <code>setsockopt()</code> call will be the value returned
+via a <code>getsockopt()</code> call, at least one stack is known to deliberately
ignore history. When running under Windows a value of 0 may be used
which will be an indication to the stack the user wants to enable a
form of copy avoidance. [Default: -1 - use the system's default socket
buffer sizes]
- <p><a name="index-g_t_002dS-Test_002dspecific-49"></a><br><dt><code>-S <sizespec></code><dd>This option sets the remote send and/or receive socket buffer sizes
+ <p><a name="index-g_t_002dS-Test_002dspecific-51"></a><br><dt><code>-S <sizespec></code><dd>This option sets the remote send and/or receive socket buffer sizes
for the data connection to the value(s) specified. Often, this
will affect the advertised and/or effective TCP or other window, but
on some platforms it may not. By default the units are bytes, but
@@ -1484,20 +1561,20 @@
<p>While the historic expectation is that setting the socket buffer size
has a direct effect on say the TCP window, today that may not hold
true for all stacks. Further, while the historic expectation is that
-the value specified in a setsockopt() call will be the value returned
-via a getsockopt() call, at least one stack is known to deliberately
+the value specified in a <code>setsockopt()</code> call will be the value returned
+via a <code>getsockopt()</code> call, at least one stack is known to deliberately
ignore history. When running under Windows a value of 0 may be used
which will be an indication to the stack the user wants to enable a
form of copy avoidance. [Default: -1 - use the system's default socket
buffer sizes]
- <p><a name="index-g_t_002d4_002c-Test_002dspecific-50"></a><br><dt><code>-4</code><dd>Set the local and remote address family for the data connection to
+ <p><a name="index-g_t_002d4_002c-Test_002dspecific-52"></a><br><dt><code>-4</code><dd>Set the local and remote address family for the data connection to
AF_INET - ie use IPv4 addressing only. Just as with their global
command-line counterparts the last of the <samp><span class="option">-4</span></samp>, <samp><span class="option">-6</span></samp>,
<samp><span class="option">-H</span></samp> or <samp><span class="option">-L</span></samp> option wins for their respective address
families.
- <p><a name="index-g_t_002d6_002c-Test_002dspecific-51"></a><br><dt><code>-6</code><dd>This option is identical to its <samp><span class="option">-4</span></samp> cousin, but requests IPv6
+ <p><a name="index-g_t_002d6_002c-Test_002dspecific-53"></a><br><dt><code>-6</code><dd>This option is identical to its <samp><span class="option">-4</span></samp> cousin, but requests IPv6
addresses for the local and remote ends of the data connection.
</dl>
@@ -1517,9 +1594,9 @@
</ul>
<div class="node">
-<p><hr>
<a name="TCP_STREAM"></a>
<a name="TCP_005fSTREAM"></a>
+<p><hr>
Next: <a rel="next" accesskey="n" href="#TCP_005fMAERTS">TCP_MAERTS</a>,
Previous: <a rel="previous" accesskey="p" href="#Options-common-to-TCP-UDP-and-SCTP-tests">Options common to TCP UDP and SCTP tests</a>,
Up: <a rel="up" accesskey="u" href="#Options-common-to-TCP-UDP-and-SCTP-tests">Options common to TCP UDP and SCTP tests</a>
@@ -1596,9 +1673,9 @@
seconds. IPv4 addresses (AF_INET) were used.
<div class="node">
-<p><hr>
<a name="TCP_MAERTS"></a>
<a name="TCP_005fMAERTS"></a>
+<p><hr>
Next: <a rel="next" accesskey="n" href="#TCP_005fSENDFILE">TCP_SENDFILE</a>,
Previous: <a rel="previous" accesskey="p" href="#TCP_005fSTREAM">TCP_STREAM</a>,
Up: <a rel="up" accesskey="u" href="#Options-common-to-TCP-UDP-and-SCTP-tests">Options common to TCP UDP and SCTP tests</a>
@@ -1628,15 +1705,15 @@
221184 131072 131072 10.03 81.14
</pre>
<p>Where we see that Linux, unlike HP-UX, may not return the same value
-in a getsockopt() as was requested in the prior setsockopt().
+in a <code>getsockopt()</code> as was requested in the prior <code>setsockopt()</code>.
<p>This test is included more for benchmarking convenience than anything
else.
<div class="node">
-<p><hr>
<a name="TCP_SENDFILE"></a>
<a name="TCP_005fSENDFILE"></a>
+<p><hr>
Next: <a rel="next" accesskey="n" href="#UDP_005fSTREAM">UDP_STREAM</a>,
Previous: <a rel="previous" accesskey="p" href="#TCP_005fMAERTS">TCP_MAERTS</a>,
Up: <a rel="up" accesskey="u" href="#Options-common-to-TCP-UDP-and-SCTP-tests">Options common to TCP UDP and SCTP tests</a>
@@ -1688,9 +1765,9 @@
<p>we resolve that issue by selecting a larger file.
<div class="node">
-<p><hr>
<a name="UDP_STREAM"></a>
<a name="UDP_005fSTREAM"></a>
+<p><hr>
Next: <a rel="next" accesskey="n" href="#XTI_005fTCP_005fSTREAM">XTI_TCP_STREAM</a>,
Previous: <a rel="previous" accesskey="p" href="#TCP_005fSENDFILE">TCP_SENDFILE</a>,
Up: <a rel="up" accesskey="u" href="#Options-common-to-TCP-UDP-and-SCTP-tests">Options common to TCP UDP and SCTP tests</a>
@@ -1702,7 +1779,7 @@
<p>A UDP_STREAM test is similar to a <a href="#TCP_005fSTREAM">TCP_STREAM</a> test except UDP is
used as the transport rather than TCP.
- <p><a name="index-Limiting-Bandwidth-52"></a>A UDP_STREAM test has no end-to-end flow control - UDP provides none
+ <p><a name="index-Limiting-Bandwidth-54"></a>A UDP_STREAM test has no end-to-end flow control - UDP provides none
and neither does netperf. However, if you wish, you can configure
netperf with <code>--enable-intervals=yes</code> to enable the global
command-line <samp><span class="option">-b</span></samp> and <samp><span class="option">-w</span></samp> options to pace bursts of
@@ -1767,9 +1844,9 @@
telling us so. Go figure.
<div class="node">
-<p><hr>
<a name="XTI_TCP_STREAM"></a>
<a name="XTI_005fTCP_005fSTREAM"></a>
+<p><hr>
Next: <a rel="next" accesskey="n" href="#XTI_005fUDP_005fSTREAM">XTI_UDP_STREAM</a>,
Previous: <a rel="previous" accesskey="p" href="#UDP_005fSTREAM">UDP_STREAM</a>,
Up: <a rel="up" accesskey="u" href="#Options-common-to-TCP-UDP-and-SCTP-tests">Options common to TCP UDP and SCTP tests</a>
@@ -1789,9 +1866,9 @@
configured with <code>--enable-xti=yes</code>.
<div class="node">
-<p><hr>
<a name="XTI_UDP_STREAM"></a>
<a name="XTI_005fUDP_005fSTREAM"></a>
+<p><hr>
Next: <a rel="next" accesskey="n" href="#SCTP_005fSTREAM">SCTP_STREAM</a>,
Previous: <a rel="previous" accesskey="p" href="#XTI_005fTCP_005fSTREAM">XTI_TCP_STREAM</a>,
Up: <a rel="up" accesskey="u" href="#Options-common-to-TCP-UDP-and-SCTP-tests">Options common to TCP UDP and SCTP tests</a>
@@ -1811,9 +1888,9 @@
configured with <code>--enable-xti=yes</code>.
<div class="node">
-<p><hr>
<a name="SCTP_STREAM"></a>
<a name="SCTP_005fSTREAM"></a>
+<p><hr>
Next: <a rel="next" accesskey="n" href="#DLCO_005fSTREAM">DLCO_STREAM</a>,
Previous: <a rel="previous" accesskey="p" href="#XTI_005fUDP_005fSTREAM">XTI_UDP_STREAM</a>,
Up: <a rel="up" accesskey="u" href="#Options-common-to-TCP-UDP-and-SCTP-tests">Options common to TCP UDP and SCTP tests</a>
@@ -1834,9 +1911,9 @@
configured with <code>--enable-sctp=yes</code>.
<div class="node">
-<p><hr>
<a name="DLCO_STREAM"></a>
<a name="DLCO_005fSTREAM"></a>
+<p><hr>
Next: <a rel="next" accesskey="n" href="#DLCL_005fSTREAM">DLCL_STREAM</a>,
Previous: <a rel="previous" accesskey="p" href="#SCTP_005fSTREAM">SCTP_STREAM</a>,
Up: <a rel="up" accesskey="u" href="#Options-common-to-TCP-UDP-and-SCTP-tests">Options common to TCP UDP and SCTP tests</a>
@@ -1879,9 +1956,9 @@
configured with <code>--enable-dlpi=yes</code>.
<div class="node">
-<p><hr>
<a name="DLCL_STREAM"></a>
<a name="DLCL_005fSTREAM"></a>
+<p><hr>
Next: <a rel="next" accesskey="n" href="#STREAM_005fSTREAM">STREAM_STREAM</a>,
Previous: <a rel="previous" accesskey="p" href="#DLCO_005fSTREAM">DLCO_STREAM</a>,
Up: <a rel="up" accesskey="u" href="#Options-common-to-TCP-UDP-and-SCTP-tests">Options common to TCP UDP and SCTP tests</a>
@@ -1905,9 +1982,9 @@
configured with <code>--enable-dlpi=yes</code>.
<div class="node">
-<p><hr>
<a name="STREAM_STREAM"></a>
<a name="STREAM_005fSTREAM"></a>
+<p><hr>
Next: <a rel="next" accesskey="n" href="#DG_005fSTREAM">DG_STREAM</a>,
Previous: <a rel="previous" accesskey="p" href="#DLCL_005fSTREAM">DLCL_STREAM</a>,
Up: <a rel="up" accesskey="u" href="#Options-common-to-TCP-UDP-and-SCTP-tests">Options common to TCP UDP and SCTP tests</a>
@@ -1931,9 +2008,9 @@
configured with <code>--enable-unixdomain=yes</code>.
<div class="node">
-<p><hr>
<a name="DG_STREAM"></a>
<a name="DG_005fSTREAM"></a>
+<p><hr>
Previous: <a rel="previous" accesskey="p" href="#STREAM_005fSTREAM">STREAM_STREAM</a>,
Up: <a rel="up" accesskey="u" href="#Options-common-to-TCP-UDP-and-SCTP-tests">Options common to TCP UDP and SCTP tests</a>
@@ -1955,9 +2032,9 @@
configured with <code>--enable-unixdomain=yes</code>.
<div class="node">
-<p><hr>
<a name="Using-Netperf-to-Measure-Request%2fResponse"></a>
<a name="Using-Netperf-to-Measure-Request_002fResponse"></a>
+<p><hr>
Next: <a rel="next" accesskey="n" href="#Using-Netperf-to-Measure-Aggregate-Performance">Using Netperf to Measure Aggregate Performance</a>,
Previous: <a rel="previous" accesskey="p" href="#Using-Netperf-to-Measure-Bulk-Data-Transfer">Using Netperf to Measure Bulk Data Transfer</a>,
Up: <a rel="up" accesskey="u" href="#Top">Top</a>
@@ -2000,9 +2077,9 @@
</ul>
<div class="node">
-<p><hr>
<a name="Issues-in-Request%2fResponse"></a>
<a name="Issues-in-Request_002fResponse"></a>
+<p><hr>
Next: <a rel="next" accesskey="n" href="#Options-Common-to-TCP-UDP-and-SCTP-_005fRR-tests">Options Common to TCP UDP and SCTP _RR tests</a>,
Previous: <a rel="previous" accesskey="p" href="#Using-Netperf-to-Measure-Request_002fResponse">Using Netperf to Measure Request/Response</a>,
Up: <a rel="up" accesskey="u" href="#Using-Netperf-to-Measure-Request_002fResponse">Using Netperf to Measure Request/Response</a>
@@ -2010,7 +2087,7 @@
</div>
<!-- node-name, next, previous, up -->
-<h3 class="section">6.1 Issues in Reqeust/Response</h3>
+<h3 class="section">6.1 Issues in Request/Response</h3>
<p>Most if not all the <a href="#Issues-in-Bulk-Transfer">Issues in Bulk Transfer</a> apply to
request/response. The issue of round-trip latency is even more
@@ -2046,9 +2123,9 @@
Particularly if you “mix-up” _STREAM and _RR tests.
<div class="node">
-<p><hr>
<a name="Options-Common-to-TCP-UDP-and-SCTP-_RR-tests"></a>
<a name="Options-Common-to-TCP-UDP-and-SCTP-_005fRR-tests"></a>
+<p><hr>
Previous: <a rel="previous" accesskey="p" href="#Issues-in-Request_002fResponse">Issues in Request/Response</a>,
Up: <a rel="up" accesskey="u" href="#Using-Netperf-to-Measure-Request_002fResponse">Using Netperf to Measure Request/Response</a>
@@ -2063,7 +2140,7 @@
include:
-<a name="index-g_t_002dh_002c-Test_002dspecific-53"></a>
+<a name="index-g_t_002dh_002c-Test_002dspecific-55"></a>
<dl><dt><code>-h</code><dd>Display the test-suite-specific usage string and exit. For a TCP_ or
UDP_ test this will be the usage string from the source file
<samp><span class="file">nettest_bsd.c</span></samp>. For an XTI_ test, this will be the usage string
@@ -2071,7 +2148,7 @@
will be the usage string from the source file
<samp><span class="file">src/nettest_sctp.c</span></samp>.
- <p><a name="index-g_t_002dH_002c-Test_002dspecific-54"></a><br><dt><code>-H <optionspec></code><dd>Normally, the remote hostname|IP and address family information is
+ <p><a name="index-g_t_002dH_002c-Test_002dspecific-56"></a><br><dt><code>-H <optionspec></code><dd>Normally, the remote hostname|IP and address family information is
inherited from the settings for the control connection (eg global
command-line <samp><span class="option">-H</span></samp>, <samp><span class="option">-4</span></samp> and/or <samp><span class="option">-6</span></samp> options.
The test-specific <samp><span class="option">-H</span></samp> will override those settings for the
@@ -2079,15 +2156,15 @@
are left unchanged. This might be used to cause the control and data
connections to take different paths through the network.
- <p><a name="index-g_t_002dL_002c-Test_002dspecific-55"></a><br><dt><code>-L <optionspec></code><dd>The test-specific <samp><span class="option">-L</span></samp> option is identical to the test-specific
+ <p><a name="index-g_t_002dL_002c-Test_002dspecific-57"></a><br><dt><code>-L <optionspec></code><dd>The test-specific <samp><span class="option">-L</span></samp> option is identical to the test-specific
<samp><span class="option">-H</span></samp> option except it affects the local hostname|IP and address
family information. As with its global command-line counterpart, this
is generally only useful when measuring though those evil, end-to-end
breaking things called firewalls.
- <p><a name="index-g_t_002dP_002c-Test_002dspecific-56"></a><br><dt><code>-P <optionspec></code><dd>Set the local and/or remote port numbers for the data connection.
+ <p><a name="index-g_t_002dP_002c-Test_002dspecific-58"></a><br><dt><code>-P <optionspec></code><dd>Set the local and/or remote port numbers for the data connection.
- <p><a name="index-g_t_002dr_002c-Test_002dspecific-57"></a><br><dt><code>-r <sizespec></code><dd>This option sets the request (first value) and/or response (second
+ <p><a name="index-g_t_002dr_002c-Test_002dspecific-59"></a><br><dt><code>-r <sizespec></code><dd>This option sets the request (first value) and/or response (second
value) sizes for an _RR test. By default the units are bytes, but a
suffix of “G,” “M,” or “K” will specify the units to be 2^30
(GB), 2^20 (MB) or 2^10 (KB) respectively. A suffix of “g,” “m”
@@ -2098,7 +2175,7 @@
<p>Will set the request size to 128 bytes and the response size to 16 KB
or 16384 bytes. [Default: 1 - a single-byte request and response ]
- <p><a name="index-g_t_002ds_002c-Test_002dspecific-58"></a><br><dt><code>-s <sizespec></code><dd>This option sets the local send and receive socket buffer sizes for
+ <p><a name="index-g_t_002ds_002c-Test_002dspecific-60"></a><br><dt><code>-s <sizespec></code><dd>This option sets the local send and receive socket buffer sizes for
the data connection to the value(s) specified. Often, this will
affect the advertised and/or effective TCP or other window, but on
some platforms it may not. By default the units are bytes, but a
@@ -2118,7 +2195,7 @@
a form of copy avoidance. [Default: -1 - use the system's default
socket buffer sizes]
- <p><a name="index-g_t_002dS_002c-Test_002dspecific-59"></a><br><dt><code>-S <sizespec></code><dd>This option sets the remote send and/or receive socket buffer sizes
+ <p><a name="index-g_t_002dS_002c-Test_002dspecific-61"></a><br><dt><code>-S <sizespec></code><dd>This option sets the remote send and/or receive socket buffer sizes
for the data connection to the value(s) specified. Often, this
will affect the advertised and/or effective TCP or other window, but
on some platforms it may not. By default the units are bytes, but a
@@ -2138,13 +2215,13 @@
a form of copy avoidance. [Default: -1 - use the system's default
socket buffer sizes]
- <p><a name="index-g_t_002d4_002c-Test_002dspecific-60"></a><br><dt><code>-4</code><dd>Set the local and remote address family for the data connection to
+ <p><a name="index-g_t_002d4_002c-Test_002dspecific-62"></a><br><dt><code>-4</code><dd>Set the local and remote address family for the data connection to
AF_INET - ie use IPv4 addressing only. Just as with their global
command-line counterparts the last of the <samp><span class="option">-4</span></samp>, <samp><span class="option">-6</span></samp>,
<samp><span class="option">-H</span></samp> or <samp><span class="option">-L</span></samp> option wins for their respective address
families.
- <p><a name="index-g_t_002d6-Test_002dspecific-61"></a><br><dt><code>-6</code><dd>This option is identical to its <samp><span class="option">-4</span></samp> cousin, but requests IPv6
+ <p><a name="index-g_t_002d6-Test_002dspecific-63"></a><br><dt><code>-6</code><dd>This option is identical to its <samp><span class="option">-4</span></samp> cousin, but requests IPv6
addresses for the local and remote ends of the data connection.
</dl>
@@ -2164,20 +2241,19 @@
</ul>
<div class="node">
-<p><hr>
<a name="TCP_RR"></a>
<a name="TCP_005fRR"></a>
+<p><hr>
Next: <a rel="next" accesskey="n" href="#TCP_005fCC">TCP_CC</a>,
Previous: <a rel="previous" accesskey="p" href="#Options-Common-to-TCP-UDP-and-SCTP-_005fRR-tests">Options Common to TCP UDP and SCTP _RR tests</a>,
Up: <a rel="up" accesskey="u" href="#Options-Common-to-TCP-UDP-and-SCTP-_005fRR-tests">Options Common to TCP UDP and SCTP _RR tests</a>
</div>
- <p><a name="index-Measuring-Latency-62"></a><a name="index-Latency_002c-Request_002dResponse-63"></a>
-
<h4 class="subsection">6.2.1 TCP_RR</h4>
-<p>A TCP_RR (TCP Request/Response) test is requested by passing a value
+<p><a name="index-Measuring-Latency-64"></a><a name="index-Latency_002c-Request_002dResponse-65"></a>
+A TCP_RR (TCP Request/Response) test is requested by passing a value
of “TCP_RR” to the global <samp><span class="option">-t</span></samp> command-line option. A TCP_RR
test can be though-of as a user-space to user-space <code>ping</code> with
no think time - it is a synchronous, one transaction at a time,
@@ -2223,27 +2299,26 @@
of 10 seconds. The transaction per second rate was rather good :)
<div class="node">
-<p><hr>
<a name="TCP_CC"></a>
<a name="TCP_005fCC"></a>
+<p><hr>
Next: <a rel="next" accesskey="n" href="#TCP_005fCRR">TCP_CRR</a>,
Previous: <a rel="previous" accesskey="p" href="#TCP_005fRR">TCP_RR</a>,
Up: <a rel="up" accesskey="u" href="#Options-Common-to-TCP-UDP-and-SCTP-_005fRR-tests">Options Common to TCP UDP and SCTP _RR tests</a>
</div>
- <p><a name="index-Connection-Latency-64"></a><a name="index-Latency_002c-Connection-Establishment-65"></a>
-
<h4 class="subsection">6.2.2 TCP_CC</h4>
-<p>A TCP_CC (TCP Connect/Close) test is requested by passing a value of
+<p><a name="index-Connection-Latency-66"></a><a name="index-Latency_002c-Connection-Establishment-67"></a>
+A TCP_CC (TCP Connect/Close) test is requested by passing a value of
“TCP_CC” to the global <samp><span class="option">-t</span></samp> option. A TCP_CC test simply
measures how fast the pair of systems can open and close connections
between one another in a synchronous (one at a time) manner. While
this is considered an _RR test, no request or response is exchanged
over the connection.
- <p><a name="index-Port-Reuse-66"></a><a name="index-TIME_005fWAIT-67"></a>The issue of TIME_WAIT reuse is an important one for a TCP_CC test.
+ <p><a name="index-Port-Reuse-68"></a><a name="index-TIME_005fWAIT-69"></a>The issue of TIME_WAIT reuse is an important one for a TCP_CC test.
Basically, TIME_WAIT reuse is when a pair of systems churn through
connections fast enough that they wrap the 16-bit port number space in
less time than the length of the TIME_WAIT state. While it is indeed
@@ -2278,20 +2353,19 @@
test.
<div class="node">
-<p><hr>
<a name="TCP_CRR"></a>
<a name="TCP_005fCRR"></a>
+<p><hr>
Next: <a rel="next" accesskey="n" href="#UDP_005fRR">UDP_RR</a>,
Previous: <a rel="previous" accesskey="p" href="#TCP_005fCC">TCP_CC</a>,
Up: <a rel="up" accesskey="u" href="#Options-Common-to-TCP-UDP-and-SCTP-_005fRR-tests">Options Common to TCP UDP and SCTP _RR tests</a>
</div>
- <p><a name="index-Latency_002c-Connection-Establishment-68"></a><a name="index-Latency_002c-Request_002dResponse-69"></a>
-
<h4 class="subsection">6.2.3 TCP_CRR</h4>
-<p>The TCP Connect/Request/Response (TCP_CRR) test is requested by
+<p><a name="index-Latency_002c-Connection-Establishment-70"></a><a name="index-Latency_002c-Request_002dResponse-71"></a>
+The TCP Connect/Request/Response (TCP_CRR) test is requested by
passing a value of “TCP_CRR” to the global <samp><span class="option">-t</span></samp> command-line
option. A TCP_RR test is like a merger of a TCP_RR and TCP_CC test
which measures the performance of establishing a connection, exchanging
@@ -2310,20 +2384,19 @@
when the request and response sizes are the same.
<div class="node">
-<p><hr>
<a name="UDP_RR"></a>
<a name="UDP_005fRR"></a>
+<p><hr>
Next: <a rel="next" accesskey="n" href="#XTI_005fTCP_005fRR">XTI_TCP_RR</a>,
Previous: <a rel="previous" accesskey="p" href="#TCP_005fCRR">TCP_CRR</a>,
Up: <a rel="up" accesskey="u" href="#Options-Common-to-TCP-UDP-and-SCTP-_005fRR-tests">Options Common to TCP UDP and SCTP _RR tests</a>
</div>
- <p><a name="index-Latency_002c-Request_002dResponse-70"></a><a name="index-Packet-Loss-71"></a>
-
<h4 class="subsection">6.2.4 UDP_RR</h4>
-<p>A UDP Request/Response (UDP_RR) test is requested by passing a value
+<p><a name="index-Latency_002c-Request_002dResponse-72"></a><a name="index-Packet-Loss-73"></a>
+A UDP Request/Response (UDP_RR) test is requested by passing a value
of “UDP_RR” to a global <samp><span class="option">-t</span></samp> option. It is very much the
same as a TCP_RR test except UDP is used rather than TCP.
@@ -2361,20 +2434,19 @@
netserver ran on a given CPU and did not move around during the test.
<div class="node">
-<p><hr>
<a name="XTI_TCP_RR"></a>
<a name="XTI_005fTCP_005fRR"></a>
+<p><hr>
Next: <a rel="next" accesskey="n" href="#XTI_005fTCP_005fCC">XTI_TCP_CC</a>,
Previous: <a rel="previous" accesskey="p" href="#UDP_005fRR">UDP_RR</a>,
Up: <a rel="up" accesskey="u" href="#Options-Common-to-TCP-UDP-and-SCTP-_005fRR-tests">Options Common to TCP UDP and SCTP _RR tests</a>
</div>
- <p><a name="index-Latency_002c-Request_002dResponse-72"></a>
-
<h4 class="subsection">6.2.5 XTI_TCP_RR</h4>
-<p>An XTI_TCP_RR test is essentially the same as a <a href="#TCP_005fRR">TCP_RR</a> test only
+<p><a name="index-Latency_002c-Request_002dResponse-74"></a>
+An XTI_TCP_RR test is essentially the same as a <a href="#TCP_005fRR">TCP_RR</a> test only
using the XTI rather than BSD Sockets interface. It is requested by
passing a value of “XTI_TCP_RR” to the <samp><span class="option">-t</span></samp> global
command-line option.
@@ -2384,9 +2456,9 @@
specify the names of the local and/or remote XTI device file(s).
<div class="node">
-<p><hr>
<a name="XTI_TCP_CC"></a>
<a name="XTI_005fTCP_005fCC"></a>
+<p><hr>
Next: <a rel="next" accesskey="n" href="#XTI_005fTCP_005fCRR">XTI_TCP_CRR</a>,
Previous: <a rel="previous" accesskey="p" href="#XTI_005fTCP_005fRR">XTI_TCP_RR</a>,
Up: <a rel="up" accesskey="u" href="#Options-Common-to-TCP-UDP-and-SCTP-_005fRR-tests">Options Common to TCP UDP and SCTP _RR tests</a>
@@ -2394,14 +2466,13 @@
</div>
<!-- node-name, next, previous, up -->
- <p><a name="index-Latency_002c-Connection-Establishment-73"></a>
-
<h4 class="subsection">6.2.6 XTI_TCP_CC</h4>
+<p><a name="index-Latency_002c-Connection-Establishment-75"></a>
<div class="node">
-<p><hr>
<a name="XTI_TCP_CRR"></a>
<a name="XTI_005fTCP_005fCRR"></a>
+<p><hr>
Next: <a rel="next" accesskey="n" href="#XTI_005fUDP_005fRR">XTI_UDP_RR</a>,
Previous: <a rel="previous" accesskey="p" href="#XTI_005fTCP_005fCC">XTI_TCP_CC</a>,
Up: <a rel="up" accesskey="u" href="#Options-Common-to-TCP-UDP-and-SCTP-_005fRR-tests">Options Common to TCP UDP and SCTP _RR tests</a>
@@ -2409,25 +2480,23 @@
</div>
<!-- node-name, next, previous, up -->
-<p><a name="index-Latency_002c-Connection-Establishment-74"></a><a name="index-Latency_002c-Request_002dResponse-75"></a>
-
<h4 class="subsection">6.2.7 XTI_TCP_CRR</h4>
+<p><a name="index-Latency_002c-Connection-Establishment-76"></a><a name="index-Latency_002c-Request_002dResponse-77"></a>
<div class="node">
-<p><hr>
<a name="XTI_UDP_RR"></a>
<a name="XTI_005fUDP_005fRR"></a>
+<p><hr>
Next: <a rel="next" accesskey="n" href="#DLCL_005fRR">DLCL_RR</a>,
Previous: <a rel="previous" accesskey="p" href="#XTI_005fTCP_005fCRR">XTI_TCP_CRR</a>,
Up: <a rel="up" accesskey="u" href="#Options-Common-to-TCP-UDP-and-SCTP-_005fRR-tests">Options Common to TCP UDP and SCTP _RR tests</a>
</div>
-<p><a name="index-Latency_002c-Request_002dResponse-76"></a>
-
<h4 class="subsection">6.2.8 XTI_UDP_RR</h4>
-<p>An XTI_UDP_RR test is essentially the same as a UDP_RR test only using
+<p><a name="index-Latency_002c-Request_002dResponse-78"></a>
+An XTI_UDP_RR test is essentially the same as a UDP_RR test only using
the XTI rather than BSD Sockets interface. It is requested by passing
a value of “XTI_UDP_RR” to the <samp><span class="option">-t</span></samp> global command-line
option.
@@ -2438,9 +2507,9 @@
file(s).
<div class="node">
-<p><hr>
<a name="DLCL_RR"></a>
<a name="DLCL_005fRR"></a>
+<p><hr>
Next: <a rel="next" accesskey="n" href="#DLCO_005fRR">DLCO_RR</a>,
Previous: <a rel="previous" accesskey="p" href="#XTI_005fUDP_005fRR">XTI_UDP_RR</a>,
Up: <a rel="up" accesskey="u" href="#Options-Common-to-TCP-UDP-and-SCTP-_005fRR-tests">Options Common to TCP UDP and SCTP _RR tests</a>
@@ -2448,14 +2517,13 @@
</div>
<!-- node-name, next, previous, up -->
- <p><a name="index-Latency_002c-Request_002dResponse-77"></a>
-
<h4 class="subsection">6.2.9 DLCL_RR</h4>
+<p><a name="index-Latency_002c-Request_002dResponse-79"></a>
<div class="node">
-<p><hr>
<a name="DLCO_RR"></a>
<a name="DLCO_005fRR"></a>
+<p><hr>
Next: <a rel="next" accesskey="n" href="#SCTP_005fRR">SCTP_RR</a>,
Previous: <a rel="previous" accesskey="p" href="#DLCL_005fRR">DLCL_RR</a>,
Up: <a rel="up" accesskey="u" href="#Options-Common-to-TCP-UDP-and-SCTP-_005fRR-tests">Options Common to TCP UDP and SCTP _RR tests</a>
@@ -2463,27 +2531,25 @@
</div>
<!-- node-name, next, previous, up -->
-<p><a name="index-Latency_002c-Request_002dResponse-78"></a>
-
<h4 class="subsection">6.2.10 DLCO_RR</h4>
+<p><a name="index-Latency_002c-Request_002dResponse-80"></a>
<div class="node">
-<p><hr>
<a name="SCTP_RR"></a>
<a name="SCTP_005fRR"></a>
+<p><hr>
Previous: <a rel="previous" accesskey="p" href="#DLCO_005fRR">DLCO_RR</a>,
Up: <a rel="up" accesskey="u" href="#Options-Common-to-TCP-UDP-and-SCTP-_005fRR-tests">Options Common to TCP UDP and SCTP _RR tests</a>
</div>
<!-- node-name, next, previous, up -->
-<p><a name="index-Latency_002c-Request_002dResponse-79"></a>
-
<h4 class="subsection">6.2.11 SCTP_RR</h4>
+<p><a name="index-Latency_002c-Request_002dResponse-81"></a>
<div class="node">
+<a name="Using-Netperf-to-Measure-Aggregate-Performance"></a>
<p><hr>
-<a name="Using-Netperf-to-Measure-Aggregate-Performance"></a>
Next: <a rel="next" accesskey="n" href="#Using-Netperf-to-Measure-Bidirectional-Transfer">Using Netperf to Measure Bidirectional Transfer</a>,
Previous: <a rel="previous" accesskey="p" href="#Using-Netperf-to-Measure-Request_002fResponse">Using Netperf to Measure Request/Response</a>,
Up: <a rel="up" accesskey="u" href="#Top">Top</a>
@@ -2491,11 +2557,10 @@
</div>
<!-- node-name, next, previous, up -->
-<p><a name="index-Aggregate-Performance-80"></a><a name="index-g_t_002d_002denable_002dburst_002c-Configure-81"></a>
-
<h2 class="chapter">7 Using Netperf to Measure Aggregate Performance</h2>
-<p><a href="#Netperf4">Netperf4</a> is the preferred benchmark to use when one
+<p><a name="index-Aggregate-Performance-82"></a><a name="index-g_t_002d_002denable_002dburst_002c-Configure-83"></a>
+<a href="#Netperf4">Netperf4</a> is the preferred benchmark to use when one
wants to measure aggregate performance because netperf has no support
for explicit synchronization of concurrent tests.
@@ -2511,8 +2576,8 @@
</ul>
<div class="node">
+<a name="Running-Concurrent-Netperf-Tests"></a>
<p><hr>
-<a name="Running-Concurrent-Netperf-Tests"></a>
Next: <a rel="next" accesskey="n" href="#Using-_002d_002denable_002dburst">Using --enable-burst</a>,
Previous: <a rel="previous" accesskey="p" href="#Using-Netperf-to-Measure-Aggregate-Performance">Using Netperf to Measure Aggregate Performance</a>,
Up: <a rel="up" accesskey="u" href="#Using-Netperf-to-Measure-Aggregate-Performance">Using Netperf to Measure Aggregate Performance</a>
@@ -2608,9 +2673,9 @@
contrary!-)
<div class="node">
-<p><hr>
<a name="Using---enable-burst"></a>
<a name="Using-_002d_002denable_002dburst"></a>
+<p><hr>
Previous: <a rel="previous" accesskey="p" href="#Running-Concurrent-Netperf-Tests">Running Concurrent Netperf Tests</a>,
Up: <a rel="up" accesskey="u" href="#Using-Netperf-to-Measure-Aggregate-Performance">Using Netperf to Measure Aggregate Performance</a>
@@ -2683,7 +2748,7 @@
<b>NOTE: Even if you set the </b><samp><span class="option">-D</span></samp><b> option that is still not a
guarantee that each transaction is in its own TCP segments. You
should get into the habit of verifying the relationship between the
-transaction rate and the packet rate via other means</b>
+transaction rate and the packet rate via other means.</b>
</blockquote>
<p>You can also combine <code>--enable-burst</code> functionality with
@@ -2792,8 +2857,8 @@
specified in the test-specific <samp><span class="option">-b</span></samp> option.
<div class="node">
+<a name="Using-Netperf-to-Measure-Bidirectional-Transfer"></a>
<p><hr>
-<a name="Using-Netperf-to-Measure-Bidirectional-Transfer"></a>
Next: <a rel="next" accesskey="n" href="#Other-Netperf-Tests">Other Netperf Tests</a>,
Previous: <a rel="previous" accesskey="p" href="#Using-Netperf-to-Measure-Aggregate-Performance">Using Netperf to Measure Aggregate Performance</a>,
Up: <a rel="up" accesskey="u" href="#Top">Top</a>
@@ -2823,8 +2888,8 @@
</ul>
<div class="node">
+<a name="Bidirectional-Transfer-with-Concurrent-Tests"></a>
<p><hr>
-<a name="Bidirectional-Transfer-with-Concurrent-Tests"></a>
Next: <a rel="next" accesskey="n" href="#Bidirectional-Transfer-with-TCP_005fRR">Bidirectional Transfer with TCP_RR</a>,
Previous: <a rel="previous" accesskey="p" href="#Using-Netperf-to-Measure-Bidirectional-Transfer">Using Netperf to Measure Bidirectional Transfer</a>,
Up: <a rel="up" accesskey="u" href="#Using-Netperf-to-Measure-Bidirectional-Transfer">Using Netperf to Measure Bidirectional Transfer</a>
@@ -2866,9 +2931,9 @@
the global <samp><span class="option">-i</span></samp> option is explained in <a href="#Running-Concurrent-Netperf-Tests">Running Concurrent Netperf Tests</a>.
<div class="node">
-<p><hr>
<a name="Bidirectional-Transfer-with-TCP_RR"></a>
<a name="Bidirectional-Transfer-with-TCP_005fRR"></a>
+<p><hr>
Previous: <a rel="previous" accesskey="p" href="#Bidirectional-Transfer-with-Concurrent-Tests">Bidirectional Transfer with Concurrent Tests</a>,
Up: <a rel="up" accesskey="u" href="#Using-Netperf-to-Measure-Bidirectional-Transfer">Using Netperf to Measure Bidirectional Transfer</a>
@@ -2924,8 +2989,8 @@
verbosity of 2 or more with the global <samp><span class="option">-v</span></samp> option.
<div class="node">
+<a name="Other-Netperf-Tests"></a>
<p><hr>
-<a name="Other-Netperf-Tests"></a>
Next: <a rel="next" accesskey="n" href="#Address-Resolution">Address Resolution</a>,
Previous: <a rel="previous" accesskey="p" href="#Using-Netperf-to-Measure-Bidirectional-Transfer">Using Netperf to Measure Bidirectional Transfer</a>,
Up: <a rel="up" accesskey="u" href="#Top">Top</a>
@@ -2944,8 +3009,8 @@
</ul>
<div class="node">
+<a name="CPU-rate-calibration"></a>
<p><hr>
-<a name="CPU-rate-calibration"></a>
Previous: <a rel="previous" accesskey="p" href="#Other-Netperf-Tests">Other Netperf Tests</a>,
Up: <a rel="up" accesskey="u" href="#Other-Netperf-Tests">Other Netperf Tests</a>
@@ -2995,8 +3060,8 @@
calculate service demands by hand.
<div class="node">
+<a name="Address-Resolution"></a>
<p><hr>
-<a name="Address-Resolution"></a>
Next: <a rel="next" accesskey="n" href="#Enhancing-Netperf">Enhancing Netperf</a>,
Previous: <a rel="previous" accesskey="p" href="#Other-Netperf-Tests">Other Netperf Tests</a>,
Up: <a rel="up" accesskey="u" href="#Top">Top</a>
@@ -3043,8 +3108,8 @@
run elsewhere.
<div class="node">
+<a name="Enhancing-Netperf"></a>
<p><hr>
-<a name="Enhancing-Netperf"></a>
Next: <a rel="next" accesskey="n" href="#Netperf4">Netperf4</a>,
Previous: <a rel="previous" accesskey="p" href="#Address-Resolution">Address Resolution</a>,
Up: <a rel="up" accesskey="u" href="#Top">Top</a>
@@ -3080,8 +3145,8 @@
until he gets the changes incorporated :)
<div class="node">
+<a name="Netperf4"></a>
<p><hr>
-<a name="Netperf4"></a>
Next: <a rel="next" accesskey="n" href="#Concept-Index">Concept Index</a>,
Previous: <a rel="previous" accesskey="p" href="#Enhancing-Netperf">Enhancing Netperf</a>,
Up: <a rel="up" accesskey="u" href="#Top">Top</a>
@@ -3107,8 +3172,8 @@
<a href="http://www.netperf.org/svn/netperf4/trunk">current sources</a>.
<div class="node">
+<a name="Concept-Index"></a>
<p><hr>
-<a name="Concept-Index"></a>
Next: <a rel="next" accesskey="n" href="#Option-Index">Option Index</a>,
Previous: <a rel="previous" accesskey="p" href="#Netperf4">Netperf4</a>,
Up: <a rel="up" accesskey="u" href="#Top">Top</a>
@@ -3118,35 +3183,35 @@
<h2 class="unnumbered">Concept Index</h2>
<ul class="index-cp" compact>
-<li><a href="#index-Aggregate-Performance-80">Aggregate Performance</a>: <a href="#Using-Netperf-to-Measure-Aggregate-Performance">Using Netperf to Measure Aggregate Performance</a></li>
-<li><a href="#index-Bandwidth-Limitation-9">Bandwidth Limitation</a>: <a href="#Installing-Netperf-Bits">Installing Netperf Bits</a></li>
-<li><a href="#index-Connection-Latency-64">Connection Latency</a>: <a href="#TCP_005fCC">TCP_CC</a></li>
-<li><a href="#index-CPU-Utilization-13">CPU Utilization</a>: <a href="#The-Design-of-Netperf">The Design of Netperf</a></li>
-<li><a href="#index-Design-of-Netperf-12">Design of Netperf</a>: <a href="#The-Design-of-Netperf">The Design of Netperf</a></li>
+<li><a href="#index-Aggregate-Performance-82">Aggregate Performance</a>: <a href="#Using-Netperf-to-Measure-Aggregate-Performance">Using Netperf to Measure Aggregate Performance</a></li>
+<li><a href="#index-Bandwidth-Limitation-10">Bandwidth Limitation</a>: <a href="#Installing-Netperf-Bits">Installing Netperf Bits</a></li>
+<li><a href="#index-Connection-Latency-66">Connection Latency</a>: <a href="#TCP_005fCC">TCP_CC</a></li>
+<li><a href="#index-CPU-Utilization-14">CPU Utilization</a>: <a href="#CPU-Utilization">CPU Utilization</a></li>
+<li><a href="#index-Design-of-Netperf-13">Design of Netperf</a>: <a href="#The-Design-of-Netperf">The Design of Netperf</a></li>
<li><a href="#index-Installation-2">Installation</a>: <a href="#Installing-Netperf">Installing Netperf</a></li>
<li><a href="#index-Introduction-1">Introduction</a>: <a href="#Introduction">Introduction</a></li>
-<li><a href="#index-Latency_002c-Connection-Establishment-74">Latency, Connection Establishment</a>: <a href="#XTI_005fTCP_005fCRR">XTI_TCP_CRR</a></li>
-<li><a href="#index-Latency_002c-Connection-Establishment-73">Latency, Connection Establishment</a>: <a href="#XTI_005fTCP_005fCC">XTI_TCP_CC</a></li>
-<li><a href="#index-Latency_002c-Connection-Establishment-68">Latency, Connection Establishment</a>: <a href="#TCP_005fCRR">TCP_CRR</a></li>
-<li><a href="#index-Latency_002c-Connection-Establishment-65">Latency, Connection Establishment</a>: <a href="#TCP_005fCC">TCP_CC</a></li>
-<li><a href="#index-Latency_002c-Request_002dResponse-79">Latency, Request-Response</a>: <a href="#SCTP_005fRR">SCTP_RR</a></li>
-<li><a href="#index-Latency_002c-Request_002dResponse-78">Latency, Request-Response</a>: <a href="#DLCO_005fRR">DLCO_RR</a></li>
-<li><a href="#index-Latency_002c-Request_002dResponse-77">Latency, Request-Response</a>: <a href="#DLCL_005fRR">DLCL_RR</a></li>
-<li><a href="#index-Latency_002c-Request_002dResponse-76">Latency, Request-Response</a>: <a href="#XTI_005fUDP_005fRR">XTI_UDP_RR</a></li>
-<li><a href="#index-Latency_002c-Request_002dResponse-75">Latency, Request-Response</a>: <a href="#XTI_005fTCP_005fCRR">XTI_TCP_CRR</a></li>
-<li><a href="#index-Latency_002c-Request_002dResponse-72">Latency, Request-Response</a>: <a href="#XTI_005fTCP_005fRR">XTI_TCP_RR</a></li>
-<li><a href="#index-Latency_002c-Request_002dResponse-70">Latency, Request-Response</a>: <a href="#UDP_005fRR">UDP_RR</a></li>
-<li><a href="#index-Latency_002c-Request_002dResponse-69">Latency, Request-Response</a>: <a href="#TCP_005fCRR">TCP_CRR</a></li>
-<li><a href="#index-Latency_002c-Request_002dResponse-63">Latency, Request-Response</a>: <a href="#TCP_005fRR">TCP_RR</a></li>
-<li><a href="#index-Limiting-Bandwidth-52">Limiting Bandwidth</a>: <a href="#UDP_005fSTREAM">UDP_STREAM</a></li>
-<li><a href="#index-Limiting-Bandwidth-8">Limiting Bandwidth</a>: <a href="#Installing-Netperf-Bits">Installing Netperf Bits</a></li>
-<li><a href="#index-Measuring-Latency-62">Measuring Latency</a>: <a href="#TCP_005fRR">TCP_RR</a></li>
-<li><a href="#index-Packet-Loss-71">Packet Loss</a>: <a href="#UDP_005fRR">UDP_RR</a></li>
-<li><a href="#index-Port-Reuse-66">Port Reuse</a>: <a href="#TCP_005fCC">TCP_CC</a></li>
-<li><a href="#index-TIME_005fWAIT-67">TIME_WAIT</a>: <a href="#TCP_005fCC">TCP_CC</a></li>
+<li><a href="#index-Latency_002c-Connection-Establishment-76">Latency, Connection Establishment</a>: <a href="#XTI_005fTCP_005fCRR">XTI_TCP_CRR</a></li>
+<li><a href="#index-Latency_002c-Connection-Establishment-75">Latency, Connection Establishment</a>: <a href="#XTI_005fTCP_005fCC">XTI_TCP_CC</a></li>
+<li><a href="#index-Latency_002c-Connection-Establishment-70">Latency, Connection Establishment</a>: <a href="#TCP_005fCRR">TCP_CRR</a></li>
+<li><a href="#index-Latency_002c-Connection-Establishment-67">Latency, Connection Establishment</a>: <a href="#TCP_005fCC">TCP_CC</a></li>
+<li><a href="#index-Latency_002c-Request_002dResponse-81">Latency, Request-Response</a>: <a href="#SCTP_005fRR">SCTP_RR</a></li>
+<li><a href="#index-Latency_002c-Request_002dResponse-80">Latency, Request-Response</a>: <a href="#DLCO_005fRR">DLCO_RR</a></li>
+<li><a href="#index-Latency_002c-Request_002dResponse-79">Latency, Request-Response</a>: <a href="#DLCL_005fRR">DLCL_RR</a></li>
+<li><a href="#index-Latency_002c-Request_002dResponse-78">Latency, Request-Response</a>: <a href="#XTI_005fUDP_005fRR">XTI_UDP_RR</a></li>
+<li><a href="#index-Latency_002c-Request_002dResponse-77">Latency, Request-Response</a>: <a href="#XTI_005fTCP_005fCRR">XTI_TCP_CRR</a></li>
+<li><a href="#index-Latency_002c-Request_002dResponse-74">Latency, Request-Response</a>: <a href="#XTI_005fTCP_005fRR">XTI_TCP_RR</a></li>
+<li><a href="#index-Latency_002c-Request_002dResponse-72">Latency, Request-Response</a>: <a href="#UDP_005fRR">UDP_RR</a></li>
+<li><a href="#index-Latency_002c-Request_002dResponse-71">Latency, Request-Response</a>: <a href="#TCP_005fCRR">TCP_CRR</a></li>
+<li><a href="#index-Latency_002c-Request_002dResponse-65">Latency, Request-Response</a>: <a href="#TCP_005fRR">TCP_RR</a></li>
+<li><a href="#index-Limiting-Bandwidth-54">Limiting Bandwidth</a>: <a href="#UDP_005fSTREAM">UDP_STREAM</a></li>
+<li><a href="#index-Limiting-Bandwidth-9">Limiting Bandwidth</a>: <a href="#Installing-Netperf-Bits">Installing Netperf Bits</a></li>
+<li><a href="#index-Measuring-Latency-64">Measuring Latency</a>: <a href="#TCP_005fRR">TCP_RR</a></li>
+<li><a href="#index-Packet-Loss-73">Packet Loss</a>: <a href="#UDP_005fRR">UDP_RR</a></li>
+<li><a href="#index-Port-Reuse-68">Port Reuse</a>: <a href="#TCP_005fCC">TCP_CC</a></li>
+<li><a href="#index-TIME_005fWAIT-69">TIME_WAIT</a>: <a href="#TCP_005fCC">TCP_CC</a></li>
</ul><div class="node">
+<a name="Option-Index"></a>
<p><hr>
-<a name="Option-Index"></a>
Previous: <a rel="previous" accesskey="p" href="#Concept-Index">Concept Index</a>,
Up: <a rel="up" accesskey="u" href="#Top">Top</a>
@@ -3158,60 +3223,62 @@
<ul class="index-vr" compact>
-<li><a href="#index-g_t_002d_002denable_002dburst_002c-Configure-81"><code>--enable-burst, Configure</code></a>: <a href="#Using-Netperf-to-Measure-Aggregate-Performance">Using Netperf to Measure Aggregate Performance</a></li>
+<li><a href="#index-g_t_002d_002denable_002dburst_002c-Configure-83"><code>--enable-burst, Configure</code></a>: <a href="#Using-Netperf-to-Measure-Aggregate-Performance">Using Netperf to Measure Aggregate Performance</a></li>
<li><a href="#index-g_t_002d_002denable_002dcpuutil_002c-Configure-3"><code>--enable-cpuutil, Configure</code></a>: <a href="#Installing-Netperf-Bits">Installing Netperf Bits</a></li>
<li><a href="#index-g_t_002d_002denable_002ddlpi_002c-Configure-6"><code>--enable-dlpi, Configure</code></a>: <a href="#Installing-Netperf-Bits">Installing Netperf Bits</a></li>
-<li><a href="#index-g_t_002d_002denable_002dhistogram_002c-Configure-11"><code>--enable-histogram, Configure</code></a>: <a href="#Installing-Netperf-Bits">Installing Netperf Bits</a></li>
-<li><a href="#index-g_t_002d_002denable_002dintervals_002c-Configure-10"><code>--enable-intervals, Configure</code></a>: <a href="#Installing-Netperf-Bits">Installing Netperf Bits</a></li>
+<li><a href="#index-g_t_002d_002denable_002dhistogram_002c-Configure-12"><code>--enable-histogram, Configure</code></a>: <a href="#Installing-Netperf-Bits">Installing Netperf Bits</a></li>
+<li><a href="#index-g_t_002d_002denable_002dintervals_002c-Configure-11"><code>--enable-intervals, Configure</code></a>: <a href="#Installing-Netperf-Bits">Installing Netperf Bits</a></li>
+<li><a href="#index-g_t_002d_002denable_002domni_002c-Configure-8"><code>--enable-omni, Configure</code></a>: <a href="#Installing-Netperf-Bits">Installing Netperf Bits</a></li>
<li><a href="#index-g_t_002d_002denable_002dsctp_002c-Configure-7"><code>--enable-sctp, Configure</code></a>: <a href="#Installing-Netperf-Bits">Installing Netperf Bits</a></li>
<li><a href="#index-g_t_002d_002denable_002dunixdomain_002c-Configure-5"><code>--enable-unixdomain, Configure</code></a>: <a href="#Installing-Netperf-Bits">Installing Netperf Bits</a></li>
<li><a href="#index-g_t_002d_002denable_002dxti_002c-Configure-4"><code>--enable-xti, Configure</code></a>: <a href="#Installing-Netperf-Bits">Installing Netperf Bits</a></li>
-<li><a href="#index-g_t_002d4_002c-Global-41"><code>-4, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
-<li><a href="#index-g_t_002d4_002c-Test_002dspecific-60"><code>-4, Test-specific</code></a>: <a href="#Options-Common-to-TCP-UDP-and-SCTP-_005fRR-tests">Options Common to TCP UDP and SCTP _RR tests</a></li>
-<li><a href="#index-g_t_002d4_002c-Test_002dspecific-50"><code>-4, Test-specific</code></a>: <a href="#Options-common-to-TCP-UDP-and-SCTP-tests">Options common to TCP UDP and SCTP tests</a></li>
-<li><a href="#index-g_t_002d6-Test_002dspecific-61"><code>-6 Test-specific</code></a>: <a href="#Options-Common-to-TCP-UDP-and-SCTP-_005fRR-tests">Options Common to TCP UDP and SCTP _RR tests</a></li>
-<li><a href="#index-g_t_002d6_002c-Global-42"><code>-6, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
-<li><a href="#index-g_t_002d6_002c-Test_002dspecific-51"><code>-6, Test-specific</code></a>: <a href="#Options-common-to-TCP-UDP-and-SCTP-tests">Options common to TCP UDP and SCTP tests</a></li>
-<li><a href="#index-g_t_002dA_002c-Global-15"><code>-A, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
-<li><a href="#index-g_t_002da_002c-Global-14"><code>-a, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
-<li><a href="#index-g_t_002dB_002c-Global-17"><code>-B, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
-<li><a href="#index-g_t_002db_002c-Global-16"><code>-b, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
-<li><a href="#index-g_t_002dC_002c-Global-19"><code>-C, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
-<li><a href="#index-g_t_002dc_002c-Global-18"><code>-c, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
-<li><a href="#index-g_t_002dD_002c-Global-21"><code>-D, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
-<li><a href="#index-g_t_002dd_002c-Global-20"><code>-d, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
-<li><a href="#index-g_t_002dF_002c-Global-23"><code>-F, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
-<li><a href="#index-g_t_002df_002c-Global-22"><code>-f, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
-<li><a href="#index-g_t_002dH_002c-Global-25"><code>-H, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
-<li><a href="#index-g_t_002dh_002c-Global-24"><code>-h, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
-<li><a href="#index-g_t_002dH_002c-Test_002dspecific-54"><code>-H, Test-specific</code></a>: <a href="#Options-Common-to-TCP-UDP-and-SCTP-_005fRR-tests">Options Common to TCP UDP and SCTP _RR tests</a></li>
-<li><a href="#index-g_t_002dh_002c-Test_002dspecific-53"><code>-h, Test-specific</code></a>: <a href="#Options-Common-to-TCP-UDP-and-SCTP-_005fRR-tests">Options Common to TCP UDP and SCTP _RR tests</a></li>
-<li><a href="#index-g_t_002dh_002c-Test_002dspecific-43"><code>-h, Test-specific</code></a>: <a href="#Options-common-to-TCP-UDP-and-SCTP-tests">Options common to TCP UDP and SCTP tests</a></li>
-<li><a href="#index-g_t_002di_002c-Global-27"><code>-i, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
-<li><a href="#index-g_t_002dI_002c-Global-26"><code>-I, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
-<li><a href="#index-g_t_002dL_002c-Global-29"><code>-L, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
-<li><a href="#index-g_t_002dl_002c-Global-28"><code>-l, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
-<li><a href="#index-g_t_002dL_002c-Test_002dspecific-55"><code>-L, Test-specific</code></a>: <a href="#Options-Common-to-TCP-UDP-and-SCTP-_005fRR-tests">Options Common to TCP UDP and SCTP _RR tests</a></li>
-<li><a href="#index-g_t_002dL_002c-Test_002dspecific-44"><code>-L, Test-specific</code></a>: <a href="#Options-common-to-TCP-UDP-and-SCTP-tests">Options common to TCP UDP and SCTP tests</a></li>
-<li><a href="#index-g_t_002dM_002c-Test_002dspecific-46"><code>-M, Test-specific</code></a>: <a href="#Options-common-to-TCP-UDP-and-SCTP-tests">Options common to TCP UDP and SCTP tests</a></li>
-<li><a href="#index-g_t_002dm_002c-Test_002dspecific-45"><code>-m, Test-specific</code></a>: <a href="#Options-common-to-TCP-UDP-and-SCTP-tests">Options common to TCP UDP and SCTP tests</a></li>
-<li><a href="#index-g_t_002dN_002c-Global-31"><code>-N, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
-<li><a href="#index-g_t_002dn_002c-Global-30"><code>-n, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
-<li><a href="#index-g_t_002dO_002c-Global-33"><code>-O, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
-<li><a href="#index-g_t_002do_002c-Global-32"><code>-o, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
-<li><a href="#index-g_t_002dP_002c-Global-35"><code>-P, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
-<li><a href="#index-g_t_002dp_002c-Global-34"><code>-p, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
-<li><a href="#index-g_t_002dP_002c-Test_002dspecific-56"><code>-P, Test-specific</code></a>: <a href="#Options-Common-to-TCP-UDP-and-SCTP-_005fRR-tests">Options Common to TCP UDP and SCTP _RR tests</a></li>
-<li><a href="#index-g_t_002dP_002c-Test_002dspecific-47"><code>-P, Test-specific</code></a>: <a href="#Options-common-to-TCP-UDP-and-SCTP-tests">Options common to TCP UDP and SCTP tests</a></li>
-<li><a href="#index-g_t_002dr_002c-Test_002dspecific-57"><code>-r, Test-specific</code></a>: <a href="#Options-Common-to-TCP-UDP-and-SCTP-_005fRR-tests">Options Common to TCP UDP and SCTP _RR tests</a></li>
-<li><a href="#index-g_t_002dS-Test_002dspecific-49"><code>-S Test-specific</code></a>: <a href="#Options-common-to-TCP-UDP-and-SCTP-tests">Options common to TCP UDP and SCTP tests</a></li>
-<li><a href="#index-g_t_002dS_002c-Test_002dspecific-59"><code>-S, Test-specific</code></a>: <a href="#Options-Common-to-TCP-UDP-and-SCTP-_005fRR-tests">Options Common to TCP UDP and SCTP _RR tests</a></li>
-<li><a href="#index-g_t_002ds_002c-Test_002dspecific-58"><code>-s, Test-specific</code></a>: <a href="#Options-Common-to-TCP-UDP-and-SCTP-_005fRR-tests">Options Common to TCP UDP and SCTP _RR tests</a></li>
-<li><a href="#index-g_t_002ds_002c-Test_002dspecific-48"><code>-s, Test-specific</code></a>: <a href="#Options-common-to-TCP-UDP-and-SCTP-tests">Options common to TCP UDP and SCTP tests</a></li>
-<li><a href="#index-g_t_002dt_002c-Global-36"><code>-t, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
-<li><a href="#index-g_t_002dV_002c-Global-38"><code>-V, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
-<li><a href="#index-g_t_002dv_002c-Global-37"><code>-v, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
-<li><a href="#index-g_t_002dW_002c-Global-40"><code>-W, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
-<li><a href="#index-g_t_002dw_002c-Global-39"><code>-w, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
+<li><a href="#index-g_t_002d4_002c-Global-43"><code>-4, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
+<li><a href="#index-g_t_002d4_002c-Test_002dspecific-62"><code>-4, Test-specific</code></a>: <a href="#Options-Common-to-TCP-UDP-and-SCTP-_005fRR-tests">Options Common to TCP UDP and SCTP _RR tests</a></li>
+<li><a href="#index-g_t_002d4_002c-Test_002dspecific-52"><code>-4, Test-specific</code></a>: <a href="#Options-common-to-TCP-UDP-and-SCTP-tests">Options common to TCP UDP and SCTP tests</a></li>
+<li><a href="#index-g_t_002d6-Test_002dspecific-63"><code>-6 Test-specific</code></a>: <a href="#Options-Common-to-TCP-UDP-and-SCTP-_005fRR-tests">Options Common to TCP UDP and SCTP _RR tests</a></li>
+<li><a href="#index-g_t_002d6_002c-Global-44"><code>-6, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
+<li><a href="#index-g_t_002d6_002c-Test_002dspecific-53"><code>-6, Test-specific</code></a>: <a href="#Options-common-to-TCP-UDP-and-SCTP-tests">Options common to TCP UDP and SCTP tests</a></li>
+<li><a href="#index-g_t_002dA_002c-Global-16"><code>-A, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
+<li><a href="#index-g_t_002da_002c-Global-15"><code>-a, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
+<li><a href="#index-g_t_002dB_002c-Global-18"><code>-B, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
+<li><a href="#index-g_t_002db_002c-Global-17"><code>-b, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
+<li><a href="#index-g_t_002dC_002c-Global-20"><code>-C, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
+<li><a href="#index-g_t_002dc_002c-Global-19"><code>-c, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
+<li><a href="#index-g_t_002dD_002c-Global-22"><code>-D, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
+<li><a href="#index-g_t_002dd_002c-Global-21"><code>-d, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
+<li><a href="#index-g_t_002dF_002c-Global-24"><code>-F, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
+<li><a href="#index-g_t_002df_002c-Global-23"><code>-f, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
+<li><a href="#index-g_t_002dH_002c-Global-26"><code>-H, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
+<li><a href="#index-g_t_002dh_002c-Global-25"><code>-h, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
+<li><a href="#index-g_t_002dH_002c-Test_002dspecific-56"><code>-H, Test-specific</code></a>: <a href="#Options-Common-to-TCP-UDP-and-SCTP-_005fRR-tests">Options Common to TCP UDP and SCTP _RR tests</a></li>
+<li><a href="#index-g_t_002dh_002c-Test_002dspecific-55"><code>-h, Test-specific</code></a>: <a href="#Options-Common-to-TCP-UDP-and-SCTP-_005fRR-tests">Options Common to TCP UDP and SCTP _RR tests</a></li>
+<li><a href="#index-g_t_002dh_002c-Test_002dspecific-45"><code>-h, Test-specific</code></a>: <a href="#Options-common-to-TCP-UDP-and-SCTP-tests">Options common to TCP UDP and SCTP tests</a></li>
+<li><a href="#index-g_t_002di_002c-Global-28"><code>-i, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
+<li><a href="#index-g_t_002dI_002c-Global-27"><code>-I, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
+<li><a href="#index-g_t_002dj_002c-Global-29"><code>-j, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
+<li><a href="#index-g_t_002dL_002c-Global-31"><code>-L, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
+<li><a href="#index-g_t_002dl_002c-Global-30"><code>-l, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
+<li><a href="#index-g_t_002dL_002c-Test_002dspecific-57"><code>-L, Test-specific</code></a>: <a href="#Options-Common-to-TCP-UDP-and-SCTP-_005fRR-tests">Options Common to TCP UDP and SCTP _RR tests</a></li>
+<li><a href="#index-g_t_002dL_002c-Test_002dspecific-46"><code>-L, Test-specific</code></a>: <a href="#Options-common-to-TCP-UDP-and-SCTP-tests">Options common to TCP UDP and SCTP tests</a></li>
+<li><a href="#index-g_t_002dM_002c-Test_002dspecific-48"><code>-M, Test-specific</code></a>: <a href="#Options-common-to-TCP-UDP-and-SCTP-tests">Options common to TCP UDP and SCTP tests</a></li>
+<li><a href="#index-g_t_002dm_002c-Test_002dspecific-47"><code>-m, Test-specific</code></a>: <a href="#Options-common-to-TCP-UDP-and-SCTP-tests">Options common to TCP UDP and SCTP tests</a></li>
+<li><a href="#index-g_t_002dN_002c-Global-33"><code>-N, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
+<li><a href="#index-g_t_002dn_002c-Global-32"><code>-n, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
+<li><a href="#index-g_t_002dO_002c-Global-35"><code>-O, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
+<li><a href="#index-g_t_002do_002c-Global-34"><code>-o, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
+<li><a href="#index-g_t_002dP_002c-Global-37"><code>-P, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
+<li><a href="#index-g_t_002dp_002c-Global-36"><code>-p, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
+<li><a href="#index-g_t_002dP_002c-Test_002dspecific-58"><code>-P, Test-specific</code></a>: <a href="#Options-Common-to-TCP-UDP-and-SCTP-_005fRR-tests">Options Common to TCP UDP and SCTP _RR tests</a></li>
+<li><a href="#index-g_t_002dP_002c-Test_002dspecific-49"><code>-P, Test-specific</code></a>: <a href="#Options-common-to-TCP-UDP-and-SCTP-tests">Options common to TCP UDP and SCTP tests</a></li>
+<li><a href="#index-g_t_002dr_002c-Test_002dspecific-59"><code>-r, Test-specific</code></a>: <a href="#Options-Common-to-TCP-UDP-and-SCTP-_005fRR-tests">Options Common to TCP UDP and SCTP _RR tests</a></li>
+<li><a href="#index-g_t_002dS-Test_002dspecific-51"><code>-S Test-specific</code></a>: <a href="#Options-common-to-TCP-UDP-and-SCTP-tests">Options common to TCP UDP and SCTP tests</a></li>
+<li><a href="#index-g_t_002dS_002c-Test_002dspecific-61"><code>-S, Test-specific</code></a>: <a href="#Options-Common-to-TCP-UDP-and-SCTP-_005fRR-tests">Options Common to TCP UDP and SCTP _RR tests</a></li>
+<li><a href="#index-g_t_002ds_002c-Test_002dspecific-60"><code>-s, Test-specific</code></a>: <a href="#Options-Common-to-TCP-UDP-and-SCTP-_005fRR-tests">Options Common to TCP UDP and SCTP _RR tests</a></li>
+<li><a href="#index-g_t_002ds_002c-Test_002dspecific-50"><code>-s, Test-specific</code></a>: <a href="#Options-common-to-TCP-UDP-and-SCTP-tests">Options common to TCP UDP and SCTP tests</a></li>
+<li><a href="#index-g_t_002dt_002c-Global-38"><code>-t, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
+<li><a href="#index-g_t_002dV_002c-Global-40"><code>-V, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
+<li><a href="#index-g_t_002dv_002c-Global-39"><code>-v, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
+<li><a href="#index-g_t_002dW_002c-Global-42"><code>-W, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
+<li><a href="#index-g_t_002dw_002c-Global-41"><code>-w, Global</code></a>: <a href="#Global-Options">Global Options</a></li>
</ul></body></html>
Modified: trunk/doc/netperf.info
===================================================================
--- trunk/doc/netperf.info 2011-06-22 22:57:05 UTC (rev 393)
+++ trunk/doc/netperf.info 2011-06-23 01:07:00 UTC (rev 394)
@@ -4,7 +4,7 @@
This is Rick Jones' feeble attempt at a Texinfo-based manual for the
netperf benchmark.
- Copyright (C) 2005-2007 Hewlett-Packard Company
+ Copyright (C) 2005-2011 Hewlett-Packard Company
Permission is granted to copy, distribute and/or modify this
document per the terms of the netperf source licence, a copy of
@@ -20,7 +20,7 @@
This is Rick Jones' feeble attempt at a Texinfo-based manual for the
netperf benchmark.
- Copyright (C) 2005-2007 Hewlett-Packard Company
+ Copyright (C) 2005-2011 Hewlett-Packard Company
Permission is granted to copy, distribute and/or modify this
document per the terms of the netperf source licence, a copy of
@@ -346,6 +346,20 @@
command. As of this writing, the configure script will not include
those tests automagically.
+ Starting with version 2.5.0, netperf is migrating most of the
+"classic" netperf tests found in `src/nettest_bsd.c' to the so-called
+"omni" tests (aka "two routines to run them all") found in
+`src/nettest_omni.c'. This migration enables a number of new features
+such as greater control over what output is included, and new things to
+output. The "omni" test is enabled by default in 2.5.0 and a number of
+the classic tests are migrated - you can tell this from the presence of
+"MIGRATED" in the test banner. If you encounter problems with either
+the omni or migrated tests, please first attempt to obtain resolution
+via <netperf-talk at netperf.org> or <netperf-feedback at netperf.org>. If
+that is unsuccessful, you can add a `--enable-omni=no' to the configure
+command and the omni tests will not be compiled-in and the classic
+tests will not be migrated.
+
On some platforms, it may be necessary to precede the configure
command with a CFLAGS and/or LIBS variable as the netperf configure
script is not yet smart enough to set them itself. Whenever possible,
@@ -777,12 +791,14 @@
take at least INTERVAL seconds. If omitted, INTERVAL defaults to
one second and UNITS to values specific to each test type.
-`-f G|M|K|g|m|k'
+`-f G|M|K|g|m|k|x'
This option can be used to change the reporting units for _STREAM
tests. Arguments of "G," "M," or "K" will set the units to 2^30,
2^20 or 2^10 bytes/s respectively (EG power of two GB, MB or KB).
Arguments of "g," ",m" or "k" will set the units to 10^9, 10^6 or
- 10^3 bits/s respectively. [Default: 'm' or 10^6 bits/s]
+ 10^3 bits/s respectively. An argument of "x" requests the units
+ be transactions per second and is only meaninful for a
+ request-response test. [Default: "m" or 10^6 bits/s]
`-F <fillfile>'
This option specified the file from which send which buffers will
@@ -878,6 +894,14 @@
(described below) and/or increasing the iteration length with the
`-l' option might resolve the situation.
+ In an explicit "omni" test, failure to meet the confidence
+ intervals will not result in netperf emitting a warning. To
+ verify the hitting, or not, of the confidence intervals one will
+ need to include them in output specification in the test-specific
+ `-o', `-O' or `k' output selection options. The warning about not
+ hitting the confidence intervals will remain in a "migrated"
+ classic netperf test.
+
`-i <sizespec>'
This option enables the calculation of confidence intervals and
sets the minimum and maximum number of iterations to run in
@@ -899,6 +923,28 @@
maximum number of iterations multiplied by the test length
supplied by the `-l' option.
+`-j'
+ This option instructs netperf to keep additional timing statistics
+ when explicitly running an "omni" test of the request/response
+ variety. These can be output when the test-specific `-o', `-O' or
+ `-k' output selectors include one or more of:
+
+ * MIN_LATENCY
+
+ * MAX_LATENCY
+
+ * P50_LATENCY
+
+ * P90_LATENCY
+
+ * P99_LATENCY
+
+ * MEAN_LATENCY
+
+ * STDDEV_LATENCY
+
+ Added for netperf 2.5.0.
+
`-l testlen'
This option controls the length of any one iteration of the
requested test. A positive value for TESTLEN will run each
@@ -944,6 +990,11 @@
automagically determine the number of CPUs that can only be set
for netserver via a netserver `-n' command-line option.
+ As it is almost universally possible for netperf/netserver to
+ determine the number of CPUs on the system automagically, 99 times
+ out of 10 this option should not be necessary and may be removed
+ in a future release of netperf.
+
`-N'
This option tells netperf to forego establishing a control
connection. This makes it is possible to run some limited netperf
@@ -1042,6 +1093,8 @@
* *note LOC_CPU: Other Netperf Tests, *note REM_CPU: Other
Netperf Tests.
+
+ * OMNI
Not all tests are always compiled into netperf. In particular, the
"XTI," "SCTP," "UNIXDOMAIN," and "DL*" tests are only included in
netperf when configured with
@@ -1200,6 +1253,20 @@
distributed in source form so one can compile it on the platofrm(s) of
interest.
+ If running a version 2.5.0 or later "omni" test under Linux one can
+include either or both of:
+ * LOCAL_TRANSPORT_RETRANS
+
+ * REMOTE_TRANSPORT_RETRANS
+
+ in the values provided via a test-specific `-o', `-O', or `-k'
+output selction option and netperf will report the retransmissions
+experienced on the data connection, as reported via a
+`getsockopt(TCP_INFO)' call. If confidence intervals have been
+requested via the global `-I' or `-i' options, the reported value(s)
+will be for the last iteration. If the test is over a protocol other
+than TCP, or on a platform other than Linux, the results are undefined.
+
While it was written with HP-UX's netstat in mind, the annotated
netstat
(ftp://ftp.cup.hp.com/dist/networking/briefs/annotated_netstat.txt)
@@ -1285,8 +1352,8 @@
While the historic expectation is that setting the socket buffer
size has a direct effect on say the TCP window, today that may not
hold true for all stacks. Further, while the historic expectation
- is that the value specified in a setsockopt() call will be the
- value returned via a getsockopt() call, at least one stack is
+ is that the value specified in a `setsockopt()' call will be the
+ value returned via a `getsockopt()' call, at least one stack is
known to deliberately ignore history. When running under Windows
a value of 0 may be used which will be an indication to the stack
the user wants to enable a form of copy avoidance. [Default: -1 -
@@ -1308,8 +1375,8 @@
While the historic expectation is that setting the socket buffer
size has a direct effect on say the TCP window, today that may not
hold true for all stacks. Further, while the historic expectation
- is that the value specified in a setsockopt() call will be the
- value returned via a getsockopt() call, at least one stack is
+ is that the value specified in a `setsockopt()' call will be the
+ value returned via a `getsockopt()' call, at least one stack is
known to deliberately ignore history. When running under Windows
a value of 0 may be used which will be an indication to the stack
the user wants to enable a form of copy avoidance. [Default: -1 -
@@ -1440,7 +1507,7 @@
221184 131072 131072 10.03 81.14
Where we see that Linux, unlike HP-UX, may not return the same value
-in a getsockopt() as was requested in the prior setsockopt().
+in a `getsockopt()' as was requested in the prior `setsockopt()'.
This test is included more for benchmarking convenience than anything
else.
@@ -2303,7 +2370,7 @@
NOTE: Even if you set the `-D' option that is still not a
guarantee that each transaction is in its own TCP segments. You
should get into the habit of verifying the relationship between the
- transaction rate and the packet rate via other means
+ transaction rate and the packet rate via other means.
You can also combine `--enable-burst' functionality with concurrent
netperf tests. This would then be an "aggregate of aggregates" if you
@@ -2684,34 +2751,33 @@
* Menu:
* Aggregate Performance: Using Netperf to Measure Aggregate Performance.
- (line 3)
+ (line 6)
* Bandwidth Limitation: Installing Netperf Bits.
- (line 41)
-* Connection Latency: TCP_CC. (line 3)
-* CPU Utilization: The Design of Netperf.
- (line 35)
+ (line 55)
+* Connection Latency: TCP_CC. (line 6)
+* CPU Utilization: CPU Utilization. (line 6)
* Design of Netperf: The Design of Netperf.
(line 6)
* Installation: Installing Netperf. (line 6)
* Introduction: Introduction. (line 6)
-* Latency, Connection Establishment <1>: XTI_TCP_CRR. (line 3)
-* Latency, Connection Establishment <2>: XTI_TCP_CC. (line 3)
-* Latency, Connection Establishment <3>: TCP_CRR. (line 3)
-* Latency, Connection Establishment: TCP_CC. (line 3)
-* Latency, Request-Response <1>: SCTP_RR. (line 3)
-* Latency, Request-Response <2>: DLCO_RR. (line 3)
-* Latency, Request-Response <3>: DLCL_RR. (line 3)
-* Latency, Request-Response <4>: XTI_UDP_RR. (line 3)
-* Latency, Request-Response <5>: XTI_TCP_CRR. (line 3)
-* Latency, Request-Response <6>: XTI_TCP_RR. (line 3)
-* Latency, Request-Response <7>: UDP_RR. (line 3)
-* Latency, Request-Response <8>: TCP_CRR. (line 3)
-* Latency, Request-Response: TCP_RR. (line 3)
+* Latency, Connection Establishment <1>: XTI_TCP_CRR. (line 6)
+* Latency, Connection Establishment <2>: XTI_TCP_CC. (line 6)
+* Latency, Connection Establishment <3>: TCP_CRR. (line 6)
+* Latency, Connection Establishment: TCP_CC. (line 6)
+* Latency, Request-Response <1>: SCTP_RR. (line 6)
+* Latency, Request-Response <2>: DLCO_RR. (line 6)
+* Latency, Request-Response <3>: DLCL_RR. (line 6)
+* Latency, Request-Response <4>: XTI_UDP_RR. (line 6)
+* Latency, Request-Response <5>: XTI_TCP_CRR. (line 6)
+* Latency, Request-Response <6>: XTI_TCP_RR. (line 6)
+* Latency, Request-Response <7>: UDP_RR. (line 6)
+* Latency, Request-Response <8>: TCP_CRR. (line 6)
+* Latency, Request-Response: TCP_RR. (line 6)
* Limiting Bandwidth <1>: UDP_STREAM. (line 9)
* Limiting Bandwidth: Installing Netperf Bits.
- (line 41)
-* Measuring Latency: TCP_RR. (line 3)
-* Packet Loss: UDP_RR. (line 3)
+ (line 55)
+* Measuring Latency: TCP_RR. (line 6)
+* Packet Loss: UDP_RR. (line 6)
* Port Reuse: TCP_CC. (line 13)
* TIME_WAIT: TCP_CC. (line 13)
@@ -2725,29 +2791,31 @@
* Menu:
* --enable-burst, Configure: Using Netperf to Measure Aggregate Performance.
- (line 3)
+ (line 6)
* --enable-cpuutil, Configure: Installing Netperf Bits.
(line 22)
* --enable-dlpi, Configure: Installing Netperf Bits.
(line 28)
* --enable-histogram, Configure: Installing Netperf Bits.
- (line 41)
+ (line 55)
* --enable-intervals, Configure: Installing Netperf Bits.
- (line 41)
+ (line 55)
+* --enable-omni, Configure: Installing Netperf Bits.
+ (line 34)
* --enable-sctp, Configure: Installing Netperf Bits.
(line 28)
* --enable-unixdomain, Configure: Installing Netperf Bits.
(line 28)
* --enable-xti, Configure: Installing Netperf Bits.
(line 28)
-* -4, Global: Global Options. (line 385)
+* -4, Global: Global Options. (line 424)
* -4, Test-specific <1>: Options Common to TCP UDP and SCTP _RR tests.
(line 88)
* -4, Test-specific: Options common to TCP UDP and SCTP tests.
(line 110)
* -6 Test-specific: Options Common to TCP UDP and SCTP _RR tests.
(line 94)
-* -6, Global: Global Options. (line 394)
+* -6, Global: Global Options. (line 433)
* -6, Test-specific: Options common to TCP UDP and SCTP tests.
(line 116)
* -A, Global: Global Options. (line 18)
@@ -2758,20 +2826,21 @@
* -c, Global: Global Options. (line 33)
* -D, Global: Global Options. (line 56)
* -d, Global: Global Options. (line 47)
-* -F, Global: Global Options. (line 74)
+* -F, Global: Global Options. (line 76)
* -f, Global: Global Options. (line 67)
-* -H, Global: Global Options. (line 92)
-* -h, Global: Global Options. (line 88)
+* -H, Global: Global Options. (line 94)
+* -h, Global: Global Options. (line 90)
* -H, Test-specific: Options Common to TCP UDP and SCTP _RR tests.
(line 17)
* -h, Test-specific <1>: Options Common to TCP UDP and SCTP _RR tests.
(line 10)
* -h, Test-specific: Options common to TCP UDP and SCTP tests.
(line 10)
-* -i, Global: Global Options. (line 168)
-* -I, Global: Global Options. (line 127)
-* -L, Global: Global Options. (line 209)
-* -l, Global: Global Options. (line 189)
+* -i, Global: Global Options. (line 178)
+* -I, Global: Global Options. (line 129)
+* -j, Global: Global Options. (line 199)
+* -L, Global: Global Options. (line 241)
+* -l, Global: Global Options. (line 221)
* -L, Test-specific <1>: Options Common to TCP UDP and SCTP _RR tests.
(line 26)
* -L, Test-specific: Options common to TCP UDP and SCTP tests.
@@ -2780,12 +2849,12 @@
(line 48)
* -m, Test-specific: Options common to TCP UDP and SCTP tests.
(line 32)
-* -N, Global: Global Options. (line 234)
-* -n, Global: Global Options. (line 221)
-* -O, Global: Global Options. (line 279)
-* -o, Global: Global Options. (line 270)
-* -P, Global: Global Options. (line 303)
-* -p, Global: Global Options. (line 283)
+* -N, Global: Global Options. (line 271)
+* -n, Global: Global Options. (line 253)
+* -O, Global: Global Options. (line 316)
+* -o, Global: Global Options. (line 307)
+* -P, Global: Global Options. (line 340)
+* -p, Global: Global Options. (line 320)
* -P, Test-specific <1>: Options Common to TCP UDP and SCTP _RR tests.
(line 33)
* -P, Test-specific: Options common to TCP UDP and SCTP tests.
@@ -2800,11 +2869,11 @@
(line 48)
* -s, Test-specific: Options common to TCP UDP and SCTP tests.
(line 64)
-* -t, Global: Global Options. (line 312)
-* -V, Global: Global Options. (line 364)
-* -v, Global: Global Options. (line 342)
-* -W, Global: Global Options. (line 376)
-* -w, Global: Global Options. (line 369)
+* -t, Global: Global Options. (line 349)
+* -V, Global: Global Options. (line 403)
+* -v, Global: Global Options. (line 381)
+* -W, Global: Global Options. (line 415)
+* -w, Global: Global Options. (line 408)
@@ -2815,52 +2884,52 @@
Node: Installing Netperf6924
Node: Getting Netperf Bits8478
Node: Installing Netperf Bits10296
-Node: Verifying Installation16767
-Node: The Design of Netperf17471
-Node: CPU Utilization19053
-Node: Global Command-line Options27666
-Node: Command-line Options Syntax28205
-Node: Global Options29587
-Node: Using Netperf to Measure Bulk Data Transfer48998
-Node: Issues in Bulk Transfer49663
-Node: Options common to TCP UDP and SCTP tests53192
-Node: TCP_STREAM59486
-Node: TCP_MAERTS63254
-Node: TCP_SENDFILE64487
-Node: UDP_STREAM66803
-Node: XTI_TCP_STREAM70239
-Node: XTI_UDP_STREAM70884
-Node: SCTP_STREAM71529
-Node: DLCO_STREAM72229
-Node: DLCL_STREAM74202
-Node: STREAM_STREAM75076
-Node: DG_STREAM75934
-Node: Using Netperf to Measure Request/Response76615
-Node: Issues in Request/Response78536
-Node: Options Common to TCP UDP and SCTP _RR tests80542
-Node: TCP_RR85521
-Node: TCP_CC87865
-Node: TCP_CRR90062
-Node: UDP_RR91108
-Node: XTI_TCP_RR93129
-Node: XTI_TCP_CC93712
-Node: XTI_TCP_CRR93878
-Node: XTI_UDP_RR94046
-Node: DLCL_RR94623
-Node: DLCO_RR94776
-Node: SCTP_RR94928
-Node: Using Netperf to Measure Aggregate Performance95064
-Node: Running Concurrent Netperf Tests95899
-Node: Using --enable-burst99791
-Node: Using Netperf to Measure Bidirectional Transfer105976
-Node: Bidirectional Transfer with Concurrent Tests107049
-Node: Bidirectional Transfer with TCP_RR108915
-Node: Other Netperf Tests111449
-Node: CPU rate calibration111895
-Node: Address Resolution114236
-Node: Enhancing Netperf116212
-Node: Netperf4117449
-Node: Concept Index118359
-Node: Option Index120749
+Node: Verifying Installation17626
+Node: The Design of Netperf18330
+Node: CPU Utilization19912
+Node: Global Command-line Options28525
+Node: Command-line Options Syntax29064
+Node: Global Options30446
+Node: Using Netperf to Measure Bulk Data Transfer51150
+Node: Issues in Bulk Transfer51815
+Node: Options common to TCP UDP and SCTP tests55966
+Node: TCP_STREAM62268
+Node: TCP_MAERTS66036
+Node: TCP_SENDFILE67273
+Node: UDP_STREAM69589
+Node: XTI_TCP_STREAM73025
+Node: XTI_UDP_STREAM73670
+Node: SCTP_STREAM74315
+Node: DLCO_STREAM75015
+Node: DLCL_STREAM76988
+Node: STREAM_STREAM77862
+Node: DG_STREAM78720
+Node: Using Netperf to Measure Request/Response79401
+Node: Issues in Request/Response81322
+Node: Options Common to TCP UDP and SCTP _RR tests83328
+Node: TCP_RR88307
+Node: TCP_CC90651
+Node: TCP_CRR92848
+Node: UDP_RR93894
+Node: XTI_TCP_RR95915
+Node: XTI_TCP_CC96498
+Node: XTI_TCP_CRR96664
+Node: XTI_UDP_RR96832
+Node: DLCL_RR97409
+Node: DLCO_RR97562
+Node: SCTP_RR97714
+Node: Using Netperf to Measure Aggregate Performance97850
+Node: Running Concurrent Netperf Tests98685
+Node: Using --enable-burst102577
+Node: Using Netperf to Measure Bidirectional Transfer108763
+Node: Bidirectional Transfer with Concurrent Tests109836
+Node: Bidirectional Transfer with TCP_RR111702
+Node: Other Netperf Tests114236
+Node: CPU rate calibration114682
+Node: Address Resolution117023
+Node: Enhancing Netperf118999
+Node: Netperf4120236
+Node: Concept Index121146
+Node: Option Index123472
End Tag Table
Modified: trunk/doc/netperf.pdf
===================================================================
(Binary files differ)
Modified: trunk/doc/netperf.texi
===================================================================
(Binary files differ)
Modified: trunk/doc/netperf.txt
===================================================================
--- trunk/doc/netperf.txt 2011-06-22 22:57:05 UTC (rev 393)
+++ trunk/doc/netperf.txt 2011-06-23 01:07:00 UTC (rev 394)
@@ -28,7 +28,7 @@
5.2.10 STREAM_STREAM
5.2.11 DG_STREAM
6 Using Netperf to Measure Request/Response
- 6.1 Issues in Reqeust/Response
+ 6.1 Issues in Request/Response
6.2 Options Common to TCP UDP and SCTP _RR tests
6.2.1 TCP_RR
6.2.2 TCP_CC
@@ -52,7 +52,8 @@
10 Address Resolution
11 Enhancing Netperf
12 Netperf4
-Index
+Concept Index
+Option Index
Netperf Manual
@@ -61,7 +62,7 @@
This is Rick Jones' feeble attempt at a Texinfo-based manual for the
netperf benchmark.
- Copyright (C) 2005-2007 Hewlett-Packard Company
+ Copyright (C) 2005-2011 Hewlett-Packard Company
Permission is granted to copy, distribute and/or modify this
document per the terms of the netperf source licence, a copy of
@@ -218,8 +219,13 @@
For convenience and ease of remembering, a link to the download site
is provided via the NetperfPage (http://www.netperf.org/)
- Those wishing to be on the bleeding edge of netperf development can
-grab the top of trunk from the netperf subversion repository
+ The bits corresponding to each discrete release of netperf are
+tagged (http://www.netperf.org/svn/netperf2/tags) for retrieval via
+subversion. For example, there is a tag for the first version
+corresponding to this version of the manual - netperf 2.4.3
+(http://www.netperf.org/svn/netperf2/tags/netperf-2.4.3). Those
+wishing to be on the bleeding edge of netperf development can use
+subversion to grab the top of trunk
(http://www.netperf.org/svn/netperf2/trunk).
There are likely other places around the Internet from which one can
@@ -263,9 +269,9 @@
Similarly, if you want tests using the XTI interface, Unix Domain
Sockets, DLPI or SCTP it will be necessary to add one or more
-`--enable-[xti|unix|dlpi|sctp]=yes' options to the configure command.
-As of this writing, the configure script will not include those tests
-automagically.
+`--enable-[xti|unixdomain|dlpi|sctp]=yes' options to the configure
+command. As of this writing, the configure script will not include
+those tests automagically.
On some platforms, it may be necessary to precede the configure
command with a CFLAGS and/or LIBS variable as the netperf configure
@@ -633,6 +639,10 @@
conjunction with the `-w' option it can cause the rate at which
data is sent to be "paced."
+`-B <string>'
+ This option will cause `<string>' to be appended to the brief (see
+ -P) output of netperf.
+
`-c [rate]'
This option will ask that CPU utilization and service demand be
calculated for the local system. For those CPU utilization
@@ -667,12 +677,14 @@
take at least INTERVAL seconds. If omitted, INTERVAL defaults to
one second and UNITS to values specific to each test type.
-`-f G|M|K|g|m|k'
+`-f G|M|K|g|m|k|x'
This option can be used to change the reporting units for _STREAM
tests. Arguments of "G," "M," or "K" will set the units to 2^30,
2^20 or 2^10 bytes/s respectively (EG power of two GB, MB or KB).
Arguments of "g," ",m" or "k" will set the units to 10^9, 10^6 or
- 10^3 bits/s respectively. [Default: 'm' or 10^6 bits/s]
+ 10^3 bits/s respectively. An argument of "x" requests the units
+ be transactions per second and is only meaninful for a
+ request-response test. [Default: "m" or 10^6 bits/s]
`-F <fillfile>'
This option specified the file from which send which buffers will
@@ -768,6 +780,14 @@
(described below) and/or increasing the iteration length with the
`-l' option might resolve the situation.
+ In an explicit "omni" test, failure to meet the confidence
+ intervals will not result in netperf emitting a warning. To
+ verify the hitting, or not, of the confidence intervals one will
+ need to include them in output specification in the test-specific
+ `-o', `-O' or `k' output selection options. The warning about not
+ hitting the confidence intervals will remain in a "migrated"
+ classic netperf test.
+
`-i <sizespec>'
This option enables the calculation of confidence intervals and
sets the minimum and maximum number of iterations to run in
@@ -785,6 +805,32 @@
If netperf determines that the desired confidence intervals have
not been met, it emits a noticeable warning.
+ The total test time will be somewhere between the minimum and
+ maximum number of iterations multiplied by the test length
+ supplied by the `-l' option.
+
+`-j'
+ This option instructs netperf to keep additional timing statistics
+ when explicitly running an "omni" test of the request/response
+ variety. These can be output when the test-specific `-o', `-O' or
+ `-k' output selectors include one or more of:
+
+ * MIN_LATENCY
+
+ * MAX_LATENCY
+
+ * P50_LATENCY
+
+ * P90_LATENCY
+
+ * P99_LATENCY
+
+ * MEAN_LATENCY
+
+ * STDDEV_LATENCY
+
+ Added for netperf 2.5.0.
+
`-l testlen'
This option controls the length of any one iteration of the
requested test. A positive value for TESTLEN will run each
@@ -801,6 +847,10 @@
of the link(s) over which the data connection passes, or those
tests where there may be non-trivial numbers of retransmissions.
+ If confidence intervals are enabled via either `-I' or `-i' the
+ total length of the netperf test will be somewhere between the
+ minimum and maximum iteration count multiplied by TESTLEN.
+
`-L <optionspec>'
This option is identical to the `-H' option with the difference
being it sets the _local_ hostname/IP and/or address family
@@ -816,7 +866,7 @@
`-n numcpus'
This option tells netperf how many CPUs it should ass-u-me are
active on the system running netperf. In particular, this is used
- for the *Note CPU utilization: CPU Utilization. and service demand
+ for the *note CPU utilization: CPU Utilization. and service demand
calculations. On certain systems, netperf is able to determine
the number of CPU's automagically. This option will override any
number netperf might be able to determine on its own.
@@ -826,6 +876,11 @@
automagically determine the number of CPUs that can only be set
for netserver via a netserver `-n' command-line option.
+ As it is almost universally possible for netperf/netserver to
+ determine the number of CPUs on the system automagically, 99 times
+ out of 10 this option should not be necessary and may be removed
+ in a future release of netperf.
+
`-N'
This option tells netperf to forego establishing a control
connection. This makes it is possible to run some limited netperf
@@ -907,26 +962,29 @@
`-t testname'
This option is used to tell netperf which test you wish to run.
As of this writing, valid values for TESTNAME include:
- * *Note TCP_STREAM::, *Note TCP_MAERTS::, *Note TCP_SENDFILE::,
- *Note TCP_RR::, *Note TCP_CRR::, *Note TCP_CC::
+ * *note TCP_STREAM::, *note TCP_MAERTS::, *note TCP_SENDFILE::,
+ *note TCP_RR::, *note TCP_CRR::, *note TCP_CC::
- * *Note UDP_STREAM::, *Note UDP_RR::
+ * *note UDP_STREAM::, *note UDP_RR::
- * *Note XTI_TCP_STREAM::, *Note XTI_TCP_RR::, *Note
- XTI_TCP_CRR::, *Note XTI_TCP_CC::
+ * *note XTI_TCP_STREAM::, *note XTI_TCP_RR::, *note
+ XTI_TCP_CRR::, *note XTI_TCP_CC::
- * *Note XTI_UDP_STREAM::, *Note XTI_UDP_RR::
+ * *note XTI_UDP_STREAM::, *note XTI_UDP_RR::
- * *Note SCTP_STREAM::, *Note SCTP_RR::
+ * *note SCTP_STREAM::, *note SCTP_RR::
- * *Note DLCO_STREAM::, *Note DLCO_RR::, *Note DLCL_STREAM::,
- *Note DLCL_RR::
+ * *note DLCO_STREAM::, *note DLCO_RR::, *note DLCL_STREAM::,
+ *note DLCL_RR::
- * *Note LOC_CPU: Other Netperf Tests, *Note REM_CPU: Other
+ * *note LOC_CPU: Other Netperf Tests, *note REM_CPU: Other
Netperf Tests.
+
+ * OMNI
Not all tests are always compiled into netperf. In particular, the
- "XTI," "SCTP," "UNIX," and "DL*" tests are only included in
- netperf when configured with `--enable-[xti|sctp|unix|dlpi]=yes'.
+ "XTI," "SCTP," "UNIXDOMAIN," and "DL*" tests are only included in
+ netperf when configured with
+ `--enable-[xti|sctp|unixdomain|dlpi]=yes'.
Netperf only runs one type of test no matter how many `-t' options
may be present on the command-line. The last `-t' global
@@ -937,7 +995,7 @@
This option controls how verbose netperf will be in its output,
and is often used in conjunction with the `-P' option. If the
verbosity is set to a value of "0" then only the test's SFM (Single
- Figure of Merit) is displayed. If local *Note CPU utilization:
+ Figure of Merit) is displayed. If local *note CPU utilization:
CPU Utilization. is requested via the `-c' option then the SFM is
the local service demand. Othersise, if remote CPU utilization is
requested via the `-C' option then the SFM is the remote service
@@ -955,6 +1013,11 @@
call or for each transaction if netperf was configured with
`--enable-histogram=yes'. [Default: 1 - normal verbosity]
+`-V'
+ This option displays the netperf version and then exits.
+
+ Added in netperf 2.4.4.
+
`-w time'
If netperf was configured with `--enable-intervals=yes' then this
value will set the inter-burst time to time milliseconds, and the
@@ -1065,6 +1128,20 @@
distributed in source form so one can compile it on the platofrm(s) of
interest.
+ If running a version 2.5.0 or later "omni" test under Linux one can
+include either or both of:
+ * LOCAL_TRANSPORT_RETRANS
+
+ * REMOTE_TRANSPORT_RETRANS
+
+ in the values provided via a test-specific `-o', `-O', or `-k'
+output selction option and netperf will report the retransmissions
+experienced on the data connection, as reported via a
+`getsockopt(TCP_INFO)' call. If confidence intervals have been
+requested via the global `-I' or `-i' options, the reported value(s)
+will be for the last iteration. If the test is over a protocol other
+than TCP, or on a platform other than Linux, the results are undefined.
+
While it was written with HP-UX's netstat in mind, the annotated
netstat
(ftp://ftp.cup.hp.com/dist/networking/briefs/annotated_netstat.txt)
@@ -1133,7 +1210,7 @@
`-s <sizespec>'
This option sets the local send and receive socket buffer sizes for
- the control connection to the value(s) specified. Often, this will
+ the data connection to the value(s) specified. Often, this will
affect the advertised and/or effective TCP or other window, but on
some platforms it may not. By default the units are bytes, but
suffix of "G," "M," or "K" will specify the units to be 2^30 (GB),
@@ -1147,14 +1224,16 @@
While the historic expectation is that setting the socket buffer
size has a direct effect on say the TCP window, today that may not
hold true for all stacks. Further, while the historic expectation
- is that the value specified in a setsockopt() call will be the
- value returned via a getsockopt() call, at least one stack is
- known to deliberately ignore history. [Default: 0 - use the
- system's default socket buffer sizes]
+ is that the value specified in a `setsockopt()' call will be the
+ value returned via a `getsockopt()' call, at least one stack is
+ known to deliberately ignore history. When running under Windows
+ a value of 0 may be used which will be an indication to the stack
+ the user wants to enable a form of copy avoidance. [Default: -1 -
+ use the system's default socket buffer sizes]
`-S <sizespec>'
This option sets the remote send and/or receive socket buffer sizes
- for the control connection to the value(s) specified. Often, this
+ for the data connection to the value(s) specified. Often, this
will affect the advertised and/or effective TCP or other window,
but on some platforms it may not. By default the units are bytes,
but suffix of "G," "M," or "K" will specify the units to be 2^30
@@ -1168,10 +1247,12 @@
While the historic expectation is that setting the socket buffer
size has a direct effect on say the TCP window, today that may not
hold true for all stacks. Further, while the historic expectation
- is that the value specified in a setsockopt() call will be the
- value returned via a getsockopt() call, at least one stack is
- known to deliberately ignore history. [Default: 0 - use the
- system's default socket buffer sizes]
+ is that the value specified in a `setsockopt()' call will be the
+ value returned via a `getsockopt()' call, at least one stack is
+ known to deliberately ignore history. When running under Windows
+ a value of 0 may be used which will be an indication to the stack
+ the user wants to enable a form of copy avoidance. [Default: -1 -
+ use the system's default socket buffer sizes]
`-4'
Set the local and remote address family for the data connection to
@@ -1193,7 +1274,7 @@
the connection is not included in the throughput calculation, time
spent flushing the last of the data to the remote at the end of the
test is. This is how netperf knows that all the data it sent was
-received by the remote. In addition to the *Note options common to
+received by the remote. In addition to the *note options common to
STREAM tests: Options common to TCP UDP and SCTP tests, the following
test-specific options can be included to possibly alter the behavior of
the test:
@@ -1234,7 +1315,7 @@
Algorithm _may_ be broken, perhaps interpreting the Nagle
Algorithm on a segment by segment basis rather than the proper user
send by user send basis. However, a better test of this can be
- achieved with the *Note TCP_RR:: test.
+ achieved with the *note TCP_RR:: test.
Here is an example of a basic TCP_STREAM test, in this case from a
@@ -1258,14 +1339,14 @@
5.2.2 TCP_MAERTS
----------------
-A TCP_MAERTS (MAERTS is STREAM backwards) test is "just like" a *Note
+A TCP_MAERTS (MAERTS is STREAM backwards) test is "just like" a *note
TCP_STREAM:: test except the data flows from the netserver to the
netperf. The global command-line `-F' option is ignored for this test
type. The test-specific command-line `-C' option is ignored for this
test type.
Here is an example of a TCP_MAERTS test between the same two systems
-as in the example for the *Note TCP_STREAM:: test. This time we request
+as in the example for the *note TCP_STREAM:: test. This time we request
larger socket buffers with `-s' and `-S' options:
$ netperf -H lag -t TCP_MAERTS -- -s 128K -S 128K
@@ -1278,7 +1359,7 @@
221184 131072 131072 10.03 81.14
Where we see that Linux, unlike HP-UX, may not return the same value
-in a getsockopt() as was requested in the prior setsockopt().
+in a `getsockopt()' as was requested in the prior `setsockopt()'.
This test is included more for benchmarking convenience than anything
else.
@@ -1286,7 +1367,7 @@
5.2.3 TCP_SENDFILE
------------------
-The TCP_SENDFILE test is "just like" a *Note TCP_STREAM:: test except
+The TCP_SENDFILE test is "just like" a *note TCP_STREAM:: test except
netperf the platform's `sendfile()' call instead of calling `send()'.
Often this results in a "zero-copy" operation where data is sent
directly from the filesystem buffer cache. This _should_ result in
@@ -1303,7 +1384,7 @@
no opportunity to reserve space for headers and so a packet will be
contained in two or more buffers.
- The *Note global `-F' option: Global Options. is required for this
+ The *note global `-F' option: Global Options. is required for this
test and it must specify a file of at least the size of the send ring
(*Note the global `-W' option: Global Options.) multiplied by the send
size (*Note the test-specific `-m' option: Options common to TCP UDP
@@ -1332,7 +1413,7 @@
5.2.4 UDP_STREAM
----------------
-A UDP_STREAM test is similar to a *Note TCP_STREAM:: test except UDP is
+A UDP_STREAM test is similar to a *note TCP_STREAM:: test except UDP is
used as the transport rather than TCP.
A UDP_STREAM test has no end-to-end flow control - UDP provides none
@@ -1399,7 +1480,7 @@
5.2.5 XTI_TCP_STREAM
--------------------
-An XTI_TCP_STREAM test is simply a *Note TCP_STREAM:: test using the XTI
+An XTI_TCP_STREAM test is simply a *note TCP_STREAM:: test using the XTI
rather than BSD Sockets interface. The test-specific `-X <devspec>'
option can be used to specify the name of the local and/or remote XTI
device files, which is required by the `t_open()' call made by netperf
@@ -1412,7 +1493,7 @@
5.2.6 XTI_UDP_STREAM
--------------------
-An XTI_UDP_STREAM test is simply a *Note UDP_STREAM:: test using the XTI
+An XTI_UDP_STREAM test is simply a *note UDP_STREAM:: test using the XTI
rather than BSD Sockets Interface. The test-specific `-X <devspec>'
option can be used to specify the name of the local and/or remote XTI
device files, which is required by the `t_open()' call made by netperf
@@ -1425,7 +1506,7 @@
5.2.7 SCTP_STREAM
-----------------
-An SCTP_STREAM test is essentially a *Note TCP_STREAM:: test using the
+An SCTP_STREAM test is essentially a *note TCP_STREAM:: test using the
SCTP rather than TCP. The `-D' option will set SCTP_NODELAY, which is
much like the TCP_NODELAY option for TCP. The `-C' option is not
applicable to an SCTP test as there is no corresponding SCTP_CORK
@@ -1440,7 +1521,7 @@
-----------------
A DLPI Connection Oriented Stream (DLCO_STREAM) test is very similar in
-concept to a *Note TCP_STREAM:: test. Both use reliable,
+concept to a *note TCP_STREAM:: test. Both use reliable,
connection-oriented protocols. The DLPI test differs from the TCP test
in that its protocol operates only at the link-level and does not
include TCP-style segmentation and reassembly. This last difference
@@ -1485,15 +1566,15 @@
5.2.9 DLCL_STREAM
-----------------
-A DLPI ConnectionLess Stream (DLCL_STREAM) test is analogous to a *Note
+A DLPI ConnectionLess Stream (DLCL_STREAM) test is analogous to a *note
UDP_STREAM:: test in that both make use of unreliable/best-effort,
connection-less transports. The DLCL_STREAM test differs from the
-*Note UDP_STREAM:: test in that the message size (`-m' option) must
+*note UDP_STREAM:: test in that the message size (`-m' option) must
always be less than the link MTU as there is no IP-like fragmentation
and reassembly available and netperf does not presume to provide one.
The test-specific command-line options for a DLCL_STREAM test are the
-same as those for a *Note DLCO_STREAM:: test.
+same as those for a *note DLCO_STREAM:: test.
The DLCL_STREAM test is only present if netperf was configured with
`--enable-dlpi=yes'. The remote netserver must have also been
@@ -1503,7 +1584,7 @@
--------------------
A Unix Domain Stream Socket Stream test (STREAM_STREAM) is similar in
-concept to a *Note TCP_STREAM:: test, but using Unix Domain sockets.
+concept to a *note TCP_STREAM:: test, but using Unix Domain sockets.
It is, naturally, limited to intra-machine traffic. A STREAM_STREAM
test shares the `-m', `-M', `-s' and `-S' options of the other _STREAM
tests. In a STREAM_STREAM test the `-p' option sets the directory in
@@ -1512,23 +1593,23 @@
`tempnam()' call.
The STREAM_STREAM test is only present if netperf was configured with
-`--enable-unix=yes'. The remote netserver must have also been
-configured with `--enable-unix=yes'.
+`--enable-unixdomain=yes'. The remote netserver must have also been
+configured with `--enable-unixdomain=yes'.
5.2.11 DG_STREAM
----------------
A Unix Domain Datagram Socket Stream test (SG_STREAM) is very much like
-a *Note TCP_STREAM:: test except that message boundaries are preserved.
+a *note TCP_STREAM:: test except that message boundaries are preserved.
In this way, it may also be considered similar to certain flavors of
SCTP test which can also preserve message boundaries.
- All the options of a *Note STREAM_STREAM:: test are applicable to a
+ All the options of a *note STREAM_STREAM:: test are applicable to a
DG_STREAM test.
The DG_STREAM test is only present if netperf was configured with
-`--enable-unix=yes'. The remote netserver must have also been
-configured with `--enable-unix=yes'.
+`--enable-unixdomain=yes'. The remote netserver must have also been
+configured with `--enable-unixdomain=yes'.
6 Using Netperf to Measure Request/Response
*******************************************
@@ -1560,10 +1641,10 @@
one-half the average round-trip latency. Netperf does not do either of
these on its own but leaves them as exercises to the benchmarker.
-6.1 Issues in Reqeust/Response
+6.1 Issues in Request/Response
==============================
-Most if not all the *Note Issues in Bulk Transfer:: apply to
+Most if not all the *note Issues in Bulk Transfer:: apply to
request/response. The issue of round-trip latency is even more
important as netperf generally only has one transaction outstanding at
a time.
@@ -1643,7 +1724,7 @@
`-s <sizespec>'
This option sets the local send and receive socket buffer sizes for
- the control connection to the value(s) specified. Often, this will
+ the data connection to the value(s) specified. Often, this will
affect the advertised and/or effective TCP or other window, but on
some platforms it may not. By default the units are bytes, but a
suffix of "G," "M," or "K" will specify the units to be 2^30 (GB),
@@ -1656,12 +1737,14 @@
While the historic expectation is that setting the socket buffer
size has a direct effect on say the TCP window, today that may not
- hold true for all stacks. [Default: 0 - use the system's default
- socket buffer sizes]
+ hold true for all stacks. When running under Windows a value of 0
+ may be used which will be an indication to the stack the user
+ wants to enable a form of copy avoidance. [Default: -1 - use the
+ system's default socket buffer sizes]
`-S <sizespec>'
This option sets the remote send and/or receive socket buffer sizes
- for the control connection to the value(s) specified. Often, this
+ for the data connection to the value(s) specified. Often, this
will affect the advertised and/or effective TCP or other window,
but on some platforms it may not. By default the units are bytes,
but a suffix of "G," "M," or "K" will specify the units to be 2^30
@@ -1674,8 +1757,10 @@
While the historic expectation is that setting the socket buffer
size has a direct effect on say the TCP window, today that may not
- hold true for all stacks. [Default: 0 - use the system's default
- socket buffer sizes]
+ hold true for all stacks. When running under Windows a value of 0
+ may be used which will be an indication to the stack the user
+ wants to enable a form of copy avoidance. [Default: -1 - use the
+ system's default socket buffer sizes]
`-4'
Set the local and remote address family for the data connection to
@@ -1840,7 +1925,7 @@
6.2.5 XTI_TCP_RR
----------------
-An XTI_TCP_RR test is essentially the same as a *Note TCP_RR:: test only
+An XTI_TCP_RR test is essentially the same as a *note TCP_RR:: test only
using the XTI rather than BSD Sockets interface. It is requested by
passing a value of "XTI_TCP_RR" to the `-t' global command-line option.
@@ -1877,7 +1962,7 @@
7 Using Netperf to Measure Aggregate Performance
************************************************
-*Note Netperf4: Netperf4. is the preferred benchmark to use when one
+*note Netperf4: Netperf4. is the preferred benchmark to use when one
wants to measure aggregate performance because netperf has no support
for explicit synchronization of concurrent tests.
@@ -1889,7 +1974,7 @@
7.1 Running Concurrent Netperf Tests
====================================
-*Note Netperf4: Netperf4. is the preferred benchmark to use when one
+*note Netperf4: Netperf4. is the preferred benchmark to use when one
wants to measure aggregate performance because netperf has no support
for explicit synchronization of concurrent tests. This leaves netperf2
results vulnerable to "skew" errors.
@@ -1904,7 +1989,7 @@
netperf -t TCP_STREAM -H tardy.cup.hp.com -i 10 -P 0 &
done
- which will run four, concurrent *Note TCP_STREAM: TCP_STREAM. tests
+ which will run four, concurrent *note TCP_STREAM: TCP_STREAM. tests
from the system on which it is executed to tardy.cup.hp.com. Each
concurrent netperf will iterate 10 times thanks to the `-i' option and
will omit the test banners (option `-P') for brevity. The output looks
@@ -1977,8 +2062,8 @@
configure --enable-burst
- Then a test-specific `-b num' option is added to the *Note TCP_RR:
-TCP_RR. and *Note UDP_RR: UDP_RR. tests. This option causes TCP_RR and
+ Then a test-specific `-b num' option is added to the *note TCP_RR:
+TCP_RR. and *note UDP_RR: UDP_RR. tests. This option causes TCP_RR and
UDP_RR to quickly work their way up to having at least `num'
transactions in flight at one time.
@@ -2035,7 +2120,7 @@
NOTE: Even if you set the `-D' option that is still not a
guarantee that each transaction is in its own TCP segments. You
should get into the habit of verifying the relationship between the
- transaction rate and the packet rate via other means
+ transaction rate and the packet rate via other means.
You can also combine `--enable-burst' functionality with concurrent
netperf tests. This would then be an "aggregate of aggregates" if you
@@ -2146,7 +2231,7 @@
There are two ways to use netperf to measure the perfomance of
bidirectional transfer. The first is to run concurrent netperf tests
from the command line. The second is to configure netperf with
-`--enable-burst' and use a single instance of the *Note TCP_RR: TCP_RR.
+`--enable-burst' and use a single instance of the *note TCP_RR: TCP_RR.
test.
While neither method is more "correct" than the other, each is doing
@@ -2160,16 +2245,16 @@
8.1 Bidirectional Transfer with Concurrent Tests
================================================
-If we had two hosts Fred and Ethel, we could simply run a netperf *Note
+If we had two hosts Fred and Ethel, we could simply run a netperf *note
TCP_STREAM: TCP_STREAM. test on Fred pointing at Ethel, and a
concurrent netperf TCP_STREAM test on Ethel pointing at Fred, but since
there are no mechanisms to synchronize netperf tests and we would be
starting tests from two different systems, there is a considerable risk
of skew error.
- Far better would be to run simultaneous TCP_STREAM and *Note
+ Far better would be to run simultaneous TCP_STREAM and *note
TCP_MAERTS: TCP_MAERTS. tests from just one system, using the concepts
-and procedures outlined in *Note Running Concurrent Netperf Tests:
+and procedures outlined in *note Running Concurrent Netperf Tests:
Running Concurrent Netperf Tests. Here then is an example:
for i in 1
@@ -2189,7 +2274,7 @@
so we know which was inbound and which outbound relative to the system
on which we were running netperf. Of course that sense is switched on
the system running netserver :) The use of the global `-i' option is
-explained in *Note Running Concurrent Netperf Tests: Running Concurrent
+explained in *note Running Concurrent Netperf Tests: Running Concurrent
Netperf Tests.
8.2 Bidirectional Transfer with TCP_RR
@@ -2214,7 +2299,7 @@
issues to be worked-out.
Here then is an example of a bidirectional transfer test using
-`--enable-burst' and the *Note TCP_RR: TCP_RR. test:
+`--enable-burst' and the *note TCP_RR: TCP_RR. test:
netperf -t TCP_RR -H hpcpc108 -- -b 6 -r 32K -s 256K -S 256K
TCP REQUEST/RESPONSE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to hpcpc108.cup.hp.com (16.89.84.108) port 0 AF_INET : first burst 6
@@ -2361,8 +2446,8 @@
Netperf4 is the shorthand name given to version 4.X.X of netperf. This
is really a separate benchmark more than a newer version of netperf,
but it is a decendant of netperf so the netperf name is kept. The
-facitious way to describe netperf4 is to say it is the
-egg-laying-wolly-milk-pig version of netperf :) The more respectful
+facetious way to describe netperf4 is to say it is the
+egg-laying-woolly-milk-pig version of netperf :) The more respectful
way to describe it is to say it is the version of netperf with support
for synchronized, multiple-thread, multiple-test, multiple-system,
network-oriented benchmarking.
@@ -2373,9 +2458,91 @@
list and/or peruse the current sources
(http://www.netperf.org/svn/netperf4/trunk).
-Index
-*****
+Concept Index
+*************
-chapter, Installing Netperf: See 2. (line 186)
-chapter, Introduction: See 1. (line 74)
-chapter, The Design of Netperf: See 3. (line 389)
+Aggregate Performance: See 7. (line 1965)
+Bandwidth Limitation: See 2.2. (line 283)
+Connection Latency: See 6.2.2. (line 1826)
+CPU Utilization: See 3.1. (line 423)
+Design of Netperf: See 3. (line 395)
+Installation: See 2. (line 187)
+Introduction: See 1. (line 75)
+Latency, Connection Establishment <1>: See 6.2.7. (line 1942)
+Latency, Connection Establishment <2>: See 6.2.6. (line 1939)
+Latency, Connection Establishment <3>: See 6.2.3. (line 1869)
+Latency, Connection Establishment: See 6.2.2. (line 1826)
+Latency, Request-Response <1>: See 6.2.11. (line 1962)
+Latency, Request-Response <2>: See 6.2.10. (line 1959)
+Latency, Request-Response <3>: See 6.2.9. (line 1956)
+Latency, Request-Response <4>: See 6.2.8. (line 1945)
+Latency, Request-Response <5>: See 6.2.7. (line 1942)
+Latency, Request-Response <6>: See 6.2.5. (line 1928)
+Latency, Request-Response <7>: See 6.2.4. (line 1889)
+Latency, Request-Response <8>: See 6.2.3. (line 1869)
+Latency, Request-Response: See 6.2.1. (line 1779)
+Limiting Bandwidth <1>: See 5.2.4. (line 1419)
+Limiting Bandwidth: See 2.2. (line 283)
+Measuring Latency: See 6.2.1. (line 1779)
+Packet Loss: See 6.2.4. (line 1889)
+Port Reuse: See 6.2.2. (line 1833)
+TIME_WAIT: See 6.2.2. (line 1833)
+Option Index
+************
+
+--enable-burst, Configure: See 7. (line 1965)
+--enable-cpuutil, Configure: See 2.2. (line 264)
+--enable-dlpi, Configure: See 2.2. (line 270)
+--enable-histogram, Configure: See 2.2. (line 283)
+--enable-intervals, Configure: See 2.2. (line 283)
+--enable-sctp, Configure: See 2.2. (line 270)
+--enable-unixdomain, Configure: See 2.2. (line 270)
+--enable-xti, Configure: See 2.2. (line 270)
+-4, Global: See 4.2. (line 1037)
+-4, Test-specific <1>: See 6.2. (line 1765)
+-4, Test-specific: See 5.2. (line 1257)
+-6 Test-specific: See 6.2. (line 1771)
+-6, Global: See 4.2. (line 1046)
+-6, Test-specific: See 5.2. (line 1263)
+-A, Global: See 4.2. (line 631)
+-a, Global: See 4.2. (line 619)
+-B, Global: See 4.2. (line 642)
+-b, Global: See 4.2. (line 635)
+-C, Global: See 4.2. (line 655)
+-c, Global: See 4.2. (line 646)
+-D, Global: See 4.2. (line 669)
+-d, Global: See 4.2. (line 660)
+-F, Global: See 4.2. (line 689)
+-f, Global: See 4.2. (line 680)
+-H, Global: See 4.2. (line 707)
+-h, Global: See 4.2. (line 703)
+-H, Test-specific: See 6.2. (line 1694)
+-h, Test-specific <1>: See 6.2. (line 1687)
+-h, Test-specific: See 5.2. (line 1157)
+-i, Global: See 4.2. (line 791)
+-I, Global: See 4.2. (line 742)
+-j, Global: See 4.2. (line 812)
+-L, Global: See 4.2. (line 854)
+-l, Global: See 4.2. (line 834)
+-L, Test-specific <1>: See 6.2. (line 1703)
+-L, Test-specific: See 5.2. (line 1172)
+-M, Test-specific: See 5.2. (line 1195)
+-m, Test-specific: See 5.2. (line 1179)
+-N, Global: See 4.2. (line 884)
+-n, Global: See 4.2. (line 866)
+-O, Global: See 4.2. (line 929)
+-o, Global: See 4.2. (line 920)
+-P, Global: See 4.2. (line 953)
+-p, Global: See 4.2. (line 933)
+-P, Test-specific <1>: See 6.2. (line 1710)
+-P, Test-specific: See 5.2. (line 1208)
+-r, Test-specific: See 6.2. (line 1713)
+-S Test-specific: See 5.2. (line 1234)
+-S, Test-specific: See 6.2. (line 1745)
+-s, Test-specific <1>: See 6.2. (line 1725)
+-s, Test-specific: See 5.2. (line 1211)
+-t, Global: See 4.2. (line 962)
+-V, Global: See 4.2. (line 1016)
+-v, Global: See 4.2. (line 994)
+-W, Global: See 4.2. (line 1028)
+-w, Global: See 4.2. (line 1021)
Modified: trunk/src/nettest_omni.c
===================================================================
--- trunk/src/nettest_omni.c 2011-06-22 22:57:05 UTC (rev 393)
+++ trunk/src/nettest_omni.c 2011-06-23 01:07:00 UTC (rev 394)
@@ -195,7 +195,7 @@
to the millisecond for compatability with RRD */ \
gettimeofday(&now,NULL); \
fprintf(where, \
- "Interim result: %7.2f %s/s over %.2f seconds ending at %ld.%ld\n", \
+ "Interim result: %7.2f %s/s over %.2f seconds ending at %ld.%.3ld\n", \
calc_thruput_interval(units_this_tick, \
actual_interval/1000000.0), \
format_units(), \
More information about the netperf-dev
mailing list