52.23.23 Network Bandwidth (Iperf)

This activity measures maximum TCP or UDP bandwidth performance by interacting with an Iperf server.
Before you can use this activity, you must install the Iperf software on the machine that is to act as Iperf server. Iperf 3 is included in the TEMS Investigation software package. See also the Installation Guide, section "Network Bandwidth (UDP/TCP) Testing with Iperf".
UDP testing with the Network Bandwidth activity is similar to the UDP activity; see section "UDP". Measuring over TCP, on the other hand, is comparable to assigning multiple concurrent FTP activities to a device; see the example in section "Example 3: Concurrent Activities on the Same Device".

Configuration property:

General section

Iperf Version: Iperf software version: Iperf 3 (PC based) or UE Iperf 3 (on-device based).

Use Custom Arguments: Choose (True or False) whether to specify the arguments explicitly.

Arguments: (Only visible when Use Custom Arguments is set to True). Arguments to pass to executable.

Remote Address: The IP address or host name of the Iperf server.

Protocol: The protocol to use for Iperf testing: TCP or UDP.

Direction:

Send: The client sends data to the server.

Receive: The server sends data to the client.

Full Duplex: Data is sent in both directions concurrently.

Port 1: Iperf server port number to use for Direction = Send (also used for Direction = Full Duplex).

Port 2: Iperf server port number to use for Direction = Receive (also used for Direction = Full Duplex). For Full Duplex, different port numbers should be assigned to Port 1 and Port 2.

Duration: The duration of the Iperf testing session (hh:mm:ss).

Retry count: Maximum number of times to retry the Network Bandwidth activity if the Iperf server is busy.

Retry interval: Time interval between retries.

Telnet/SSH2 section

This section handles deprecated functionality for Iperf2 servers, the Telnet/SSH2 settings are not available for Iperf3.

Connection Client: Either Telnet or SSH2 can be used as protocol. Please note that SSH2 requires a special TEMS Investigation license option; see the Installation Guide, section "Network Bandwidth (UDP/TCP) Testing with Iperf".

Port: Port on the remote server.

User: User name on the remote server.

Password: Password on the remote server.

Path: Path to Iperf on the remote server. For a Windows machine this must be an absolute path, e.g. C:\Iperf\. For a Unix or Linux machine a relative path must be given, e.g. /usr/local/bin/.

UDP section (used for UDP only)

Bandwidth: Estimated available UDP bandwidth (throughput). It is possible to specify the unit as follows: B = bit/s, K = kbit/s, M = Mbit/s, G = Gbit/s, T = Tbit/s. Alternatively, lowercase letters can be used with no difference in meaning. If you do not specify a unit, the number you enter is interpreted as bit/s. Note: Setting this value too high for a slow network connection will lead to failures.

Buffer Size: UDP buffer size in kilobytes.

Packet Size: UDP packet size in bytes.

Lists of information elements: TCP download/upload; UDP download/upload.
Lists of events: TCP; UDP.
Recommendations for Iperf Testing

The Iperf server does not support multiple concurrent connections. For this reason, observe the following:

The IperfWatcher monitoring tool should have one Iperf server per device and data transfer direction.

Do not run the same script on all devices; rather, you need to use different port numbers for different devices in order to prevent spurious failures.

For Direction = Full Duplex, two different port numbers should be assigned (as noted above).

How to set up multiple Iperf 3 server instances on the server machine is explained in the Installation Guide, section "Iperf 3: Setup of Multiple Servers".

The value of Duration in the Iperf activity should correspond to the RetryCount and RetryInterval settings on the Iperf server.

Example: Suppose that IperfWatcher is configured with RetryCount = 3 and RetryInterval = 10 s. You should then set Duration to less than 3 x 10 = 30 s to prevent the Iperf server from being restarted by IperfWatcher while the activity is still running, something which would cause spurious failures.

For best measurement accuracy, Iperf activities with different Bandwidth values should be run.

It is advisable to set the Abort failure handling property (see section "Failure Handling Section") to On Timeout with some suitable time period specified.