Using Iperf to diagnose network issues

Article:HOWTO64291  |  Created: 2011-12-29  |  Updated: 2012-01-12  |  Article URL http://www.symantec.com/docs/HOWTO64291
Article Type
How To

Product(s)

Environment

Subject


Using Iperf to diagnose network issues

Iperf is based on a client/server model. As such, Iperf binaries must be installed on both machines that are taking part in testing. Iperf is started on one node in server mode. This node sits and listens for a connection on a specific port. Iperf is then started on the second node in client mode and is provided with the host name or IP address of the server node. The client node attempts to initiate a connection with the server node and once connected starts to push data over the connection. The characteristics of the connection can be modified by options provided in the Iperf binary. Iperf attempts to push as much data as possible over the connection in a given amount of time and once complete uses the time taken and amount of data pushed to calculate a perceived bandwidth for the connection.

When using Iperf to test network throughput between primary and secondary nodes, you must take the following actions before testing can begin:

  • Replication must be stopped. Replication uses a certain proportion of the available bandwidth between the nodes and as such will cause Iperf to give an artificially small value for available bandwidth, which can be misleading. If you use Iperf to test non-Veritas Volume Replicator (VVR) ports, you can instead pause replication.

  • If you use Iperf to test throughput on specific ports that are also being used by VVR, the component of VVR that is using the port must be stopped. Failure to stop the component can leave VVR bound to the port and can cause Iperf to fail since Iperf cannot bind to a given port, or Iperf can give misleading results. The component of VVR that should be stopped depends on the port being tested. For example, when using TCP for replication, data is commonly sent on TCP port 4145. As such, before you can use Iperf to test this port, you should stop vxnetd kernel threads on both nodes to ensure that the port is free.

To stop a specific daemon, you can use the daemon's specific init script. The following example procedure uses the vxstart_vvr script to stop all VVR daemons for the duration of your testing.

To use the vxstart_vvr script to stop all VVR daemons

  1. Verify that the RLINK is CONNECT ACTIVE:

    # vxprint -qtrg testdg | grep ^rl
    rl to_10.12.240.33 testrvg   CONNECT  ACTIVE   10.12.240.33 testdg to_10.12.249.249
  2. Stop the VVR daemons on both nodes:

    # /usr/sbin/vxstart_vvr stop
  3. Verify that the RLINK is now ENABLE ACTIVE:

    # vxprint -qtrg testdg | grep ^rl
    rl to_10.12.240.33 testrvg   ENABLED  ACTIVE   10.12.240.33 testdg to_10.12.249.249

With the RLINK in the ENABLE ACTIVE state, you now can run Iperf to test connectivity and throughput between the nodes. The Iperf options that you specify alter the way that Iperf tests the network.

See Interpreting Iperf results.

See Examples of using Iperf to diagnose network issues.

See Iperf options.

After you complete your testing, kill the Iperf server process on the server node and restart the VVR daemons on both nodes.

To use the vxstart_vvr script to start all VVR daemons

  1. Start the VVR daemons on both nodes:

    # /usr/sbin/vxstart_vvr start
  2. Verify that the RLINK is now CONNECT ACTIVE:

    # vxprint -qtrg testdg | grep ^rl
    rl to_10.12.240.33 testrvg   CONNECT  ACTIVE   10.12.240.33 testdg to_10.12.249.249

See About the Iperf tool

See About Veritas Volume Replicator network configuration tuning


Legacy ID



v68109410_v69081455


Article URL http://www.symantec.com/docs/HOWTO64291


Terms of use for this information are found in Legal Notices