F.4 Methodology

Starting with the initial win_size calculated in the Calculations section, record the output from several iterations of the iPerf tool using the calculated value as well as slightly larger and smaller values. We recommend that you increase and decrease the win_size by increments of about 10 percent of the original value.

For example, for the example of 1,280,000 bytes above, you might increase or decrease win_size in increments of about 100,000 bytes.

NOTE:The -w option of iperf allows specifying units such as K (kilobytes) or M (megabytes).

Using the same example, you could use -w values of 1.28M, 1.38M, 1.18M, and so on as the win_size in Step 4. Of course, it is assumed that only the run step is repeated for each iteration of the iPerf tool.

Sample output from an iperf client iteration looks similar to the following:

iperf.exe -c 10.10.10.232 -w 1.1M

------------------------------------------------------------
Client connecting to 10.10.10.232, TCP port 5001
TCP window size: 1.10 MByte
------------------------------------------------------------
[296] local 10.10.10.224 port 64667 connected with 10.10.10.232 port 5001
[ ID] Interval       Transfer     Bandwidth
[296]  0.0-10.2 sec  11.3 MBytes  9.29 Mbits/sec

Sample output from the referenced target server looks similar to the following:

./iperf -s -w .6M

------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 1.20 MByte (WARNING: requested 614 Kbyte)
------------------------------------------------------------
[  4] local 10.10.10.232 port 5001 connected with 10.10.10.224 port 64667
[  4] 0.0-10.2 sec  11.3 MBytes  9.29 Mbits/sec

NOTE:

  • The client disconnects from the server after a single iteration, while the server continues to listen until stopped by using Ctrl-C.

  • The window size specified for a Linux server is 1/2 the desired value, because Linux doubles the requested TCP buffer size as a matter of course.

Use several iterations to determine the optimal value for the TCP window size. Remember to use only 1/2 the desired value when specifying the -w option for iperf on Linux.

Increased throughput indicates that you are getting closer to an optimal TCP window size. Finally, as you get closer to an optimal value, use longer iterations in order to more closely simulate real running conditions.To achieve a longer iteration, use the -t <time_in_seconds> option to iperf. This option needs to be specified only on the client side.

For example:

iperf.exe -c 10.10.10.232 -w 1.25M -t 60

After an optimal value has been determined, configure this value in the FileTransferSendReceiveBufferSize parameter for the appropriate PlateSpin server at:

https://<my_ps_server>/PlatespinConfiguration/

This global value applies to all workloads on the PlateSpin server, so care should be taken to group workloads and their respective networks in a sensible manner across available PlateSpin servers.