K.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. Of course, it is assumed that only the run step is repeated for each iteration of the iPerf tool.

NOTE:For a Linux source or target, remember that the TCP window size you specify should be half of the desired value. For command syntax, see Setup.

Using the of 1,280,000 bytes example, you might increase or decrease win_size in increments of about 100,000 bytes. You can use -w values of 1.28M, 1.38M, 1.18M, and so on as the win_size for the -w option in the iperf command.

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.

Use several iterations to determine the optimal value for the TCP window size.

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.

NOTE:The value for the FileTransferSendReceiveBufferSize parameter setting is the optimal value you determined for win_size. Migrate automatically takes the Linux behavior of halving buffer sizes into consideration when it configures your Linux workloads.