Man Linux: Main Page and Category List

NAME

     netperfmeter - Network Performance Meter

SYNOPSIS

     netperfmeter [Port]
     netperfmeter [Destination:Port] -local=Address[,Address,...]
                  -runtime=Seconds -config=Name -scalar=Name -vector=Name
                  -activenodename=Description -passivenodename=Description
                  -quiet -verbose -verbosity=Level -tcp -udp -sctp -dccp
                  [FLOWSPEC] [...]

DESCRIPTION

     netperfmeter is a network performance meter for the UDP, TCP, SCTP and
     DCCP transport protocols.  It simultaneously transmits bidirectional
     flows to an endpoint and measures the resulting flow bandwidths. The
     results are written as vector and scalar files.

ARGUMENTS

     The following arguments have to be provided:

     Port    The port number for the passive side's data socket. The port
             number of the control socket will be port+1. Specifying a port
             number turns netperfmeter in passive mode, i.e. it will wait for
             incoming connections.

     Destination:Port
             Specifies the destination endpoint to connect to. This will turn
             netperfmeter in active mode, i.e. it will connect to the
             specified remote endpoint.

     local=Address[,Address,...]
             Specifies address(es) of the local endpoint. For TCP, UDP and
             DCCP, only the first address is used!

     runtime
             Specifies the measurement runtime in seconds. After the given
             time span, netperfmeter will finish the measurement.

     config=Name
             Specifies the name of the configuration file to write. Default is
             output.config.

     vector=Name
             Specifies the name pattern of the vector files to write. If the
             suffix of this name is .bz2, the file will be BZip2-compressed on
             the fly. The vector name is automatically extended to name the
             flow vector files by adding
             -<active|passive>-<flow_id>-<stream_id> before the suffix.
             Default is vector.vec.bz2, hence the name of the vector file for
             flow 5, stream 2 on the passive node will be vector-
             passive-00000005-0002.vec.bz2.

     scalar=Name
             Specifies the name pattern of the scalar files to write. If the
             suffix of this name is .bz2, the file will be BZip2-compressed on
             the fly. The scalar name is automatically extended to name the
             flow scalar files by adding
             -<active|passive>-<flow_id>-<stream_id> before the suffix.
             Default is scalar.vec.bz2, hence the name of the scalar file for
             flow 5, stream 2 on the passive node will be scalar-
             passive-00000005-0002.vec.bz2.

     activenodename=Description
             Sets a textual description of the active node (e.g. Client).

     passivenodename=Description
             Sets a textual description of the passive node (e.g. Server).

     quiet   Reduces verbosity of log output. May be specified multiple times.

     verbose
             Increases verbosity of log output. May be specified multiple
             times.

     verbosity=Level
             Sets the verbosity of the log output to a given level, from 1
             (lowest) to 6 (highest).

     sctp    Establish a new SCTP association. The streams of this association
             must be specified by one or more FLOWSPEC specifications as
             following parameters.

     tcp     Establish a new TCP connection. The flow of this connection must
             be specified by a FLOWSPEC specification as following parameter.

     udp     Establish a new UDP connection. The flow of this connection must
             be specified by a FLOWSPEC specification as following parameter.

     dccp    Establish a new DCCP connection. The flow of this connection must
             be specified by a FLOWSPEC specification as following parameter.
             Note, that DCCP is not available on all platforms yet.

     FLOWSPEC
             Specifies a new flow. The format is:
             outgoing_frame_rate:outgoing_frame_size:incoming_frame_size:incoming_frame_rate:option:...

             outgoing_frame_rate
                     The frame rate of the outgoing transfer (i.e. active node
                     to passive node). If set to const0, the sender will be
                     saturarted, i.e. it will try to send as much as possible.

             outgoing_frame_size
                     The frame size of the outgoing transfer (i.e. active node
                     to passive node). If set to const0, there will be *no*
                     data transmission in this direction.

             incoming_frame_rate
                     The frame rate of the incoming transfer (i.e. passive
                     node to active node). See outgoing_frame_rate for
                     details.

             incoming_frame_size
                     The frame size of the incoming transfer (i.e. active node
                     to passive node). See outgoing_frame_size for details.

             Possible options:

                     id=Flow Identifier
                             Sets an ID number for the flow. The IDs within a
                             measurement must be unique!

                     description=Description
                             Sets a textual description of the flow (e.g.
                             HTTP-Flow). Do not use spaces in the description!

                     maxmsgsize=Bytes
                             Splits frames into messages of at most the given
                             number of bytes. Messages may not exceed 65535
                             bytes.

                     defragtimeout=Milliseconds
                             Messages not received within this timeout after
                             the last successfully received message are
                             accounted as lost. NOTE: this also happens if the
                             transport protocol is reliable and the message is
                             actually received later!

                     unordered=Fraction
                             Specifies the fraction of the messages that will
                             be sent in unordered mode (SCTP only).

                     ordered=Fraction
                             Specifies the fraction of the messages that will
                             be sent in ordered mode (SCTP only).

                     reliable=Fraction
                             Specifies the fraction of the messages that will
                             be sent in reliable mode (SCTP only).

                     unreliable=Fraction
                             Specifies the fraction of the messages that will
                             be sent in unreliable mode (SCTP only).

                     rtx_timeout=Milliseconds
                             Sets the retransmission timeout for unreliable
                             messages (SCTP only; not available on all
                             platforms!)

                     rtx_trials=Trials
                             Sets the retransmission trials for unreliable
                             messages (SCTP only; not available on all
                             platforms!)

                     rcvbuf=Bytes
                             Sets the receiver buffer size to the given number
                             of bytes.

                     sndbuf=Bytes
                             Sets the sender buffer size to the given number
                             of bytes.

                     onoff=t1,t2,...
                             A list of time stamps when the flow should be
                             activated or deactivated. If onoff is given, the
                             flow is off at startup. At t1, it will be turned
                             on; at t2, it will be turned off, etc.. Time
                             stamps can be given as absolute values (e.g.
                             onoff=0,10,30 - to turn on at t=0, turn off at
                             t=10 and turn on again at t=30 until end of
                             measurement) or relative values (e.g.
                             on=10,+30,+60 - to turn on at t=10, turn off at
                             t=40 and turn on again at t=100 until end of
                             measurement).

EXAMPLES

     Some netperfmeter usage examples:

     netperfmeter 9000
             Start in passive mode, i.e. accepting connections, on port 9000.

     netperfmeter 172.16.255.254:9000 -vector=output.vec.bz2
             -scalar=output.sca.bz2 -sctp
             const5:exp1000:const3:exp500:description="Alpha":onoff=+10
             const5:exp1000:const3:exp500:description="Beta":onoff=+30 -tcp
             const5:exp1000:const3:exp500:description="Gamma":onoff=+60
             -runtime=300
             Start in active mode, i.e. establish connection to
             172.16.255.254, port 9000.  Frames will be segmented into
             messages of up to 4096 bytes.  Write vectors to output.vec.bz2
             (BZip2-compressed).  Write scalars to output.sca.bz2
             (BZip2-compressed).  Establish SCTP association.  At t=10s, start
             flow "Alpha" as first stream of this association, using a frame
             rate of 5 (constant) and average frame size of 1000 bytes
             (negative exponential distribution) for the outgoing data and a
             frame rate of 3 (constant) and average frame size of 500 bytes
             (negative exponential distribution) for the incoming data.  At
             t=30s, start flow "Beta" as second stream on the SCTP association
             (same parameters as flow "Alpha").  Start TCP connection.  At
             t=60s, start flow "Gamma" over the TCP connection (same
             parameters as flow "Alpha").  At t=300s, stop the measurement.

AUTHORS

     Thomas Dreibholz
     http://www.iem.uni-due.de/~dreibh/netperfmeter
     mailto://dreibh@iem.uni-due.de