K.4 手法

計算セクションで計算された初期のwin_sizeから始めて、計算値だけでなく若干大きい値と小さい値を使用してiPerfツールの数回の反復から得られた出力を記録します。win_sizeを元の値の約10%の増分で増減させることをお勧めします。

たとえば、上記の1,280,000バイトの例では、約100,000バイトの増分でwin_sizeを増減させることができます。

メモ: iperf-wオプションを使用すると、K (キロバイト)またはM (メガバイト)などの単位指定が可能です。

同じ例を使用して、手順4のwin_sizeとして、1.28M1.38M1.18Mなどの-w値を使用することができます。もちろん、iPerfツールの各反復に対してのみ実行ステップが繰り返されると仮定されています。

iperfクライアントの反復から得られたサンプル出力は次のようになります。

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

参照されるターゲットサーバから得られたサンプル出力は次のようになります。

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

メモ:

  • クライアントは、1回の反復の後サーバから切断されますが、サーバは、Ctrl-Cを使用して停止するまでリッスンし続けます。

  • Linuxサーバに対して指定されたウィンドウサイズは、目標値の1/2です。なぜなら、Linuxでは当然のことながら要求されたTCPバッファサイズを2倍にするからです。

数回の反復を使用して、TCPウィンドウサイズの最適値を決定します。Linux上でiperfに対して-wオプションを指定した場合には、目標値の1/2しか使用されないことを忘れないでくだい。

スループットの増大は、最適なTCPウィンドウサイズに近づいていることを示しています。最後に、最適な値に近づくにつれて、実際の実行条件をより厳密にシミュレートするように反復の期間を長く使用してください。反復の期間を長くするには、iperf-t <time_in_seconds>オプションを使用します。このオプションは、クライアント側でのみ指定する必要があります。

次に例を示します。

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

最適値が決定されたら、以下の場所にある適切なPlateSpinサーバに対するFileTransferSendReceiveBufferSizeパラメータでこの値を設定します。

https://<my_ps_server>/PlatespinConfiguration/

このグローバル値は、PlateSpinサーバ上のすべてのワークロードに適用されます。このため、ワークロードおよびそれらの個々のネットワークのグループ分けは、使用可能なPlateSpinサーバ全体について理にかなった方法で注意して行う必要があります。