---
name: "netperfmeter"
section: "8"
platform: "linux"
package: "netperfmeter"
version: "1.1.7-1.1"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/netperfmeter/8"
---

# netperfmeter(8)

Network Performance Meter

## 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 0 (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. Currently, only Linux provides DCCP in its official kernel.

- FLOWSPEC

  Specifies a new flow. The format is: outgoing\_frame\_rate:outgoing\_frame\_size:incoming\_frame\_size:incoming\_frame\_rate:option:... The first four parameters (outgoing\_frame\_rate:outgoing\_frame\_size:incoming\_frame\_size:incoming\_frame\_rate:option) may be substituted by the option "default", creating a flow with some more or less useful default parameters.

  - 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).

    - error\_on\_abort=on\|off

      By default, the active side stops with an error when a transmission tails (e.g. on connection abort). This parameter turns this behaviour on or off.

    - cmt=off\|normal\|rp\|0-255

      Configures usage of Concurrent Multipath Transfer (CMT): off (turned off), normal (independent paths), rp (resource-pooled), 0-255 (custom value). Currently only supported by CMT-SCTP on FreeBSD systems.

## 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\
