WAN接続用のデータ転送のパフォーマンスを最適化し、チューニングを行うことができます。これを実行するには、システムが、PlateSpin Serverホストにある環境設定ツールで行われている設定から読み取る環境設定パラメータを変更します。一般的な手順については、PlateSpin設定を参照してください。
ファイル転送環境設定パラメータの設定を使用すると、WANでのデータ転送を最適化できます。これらの設定はグローバルなので、ファイルベースのレプリケーションおよびVSSレプリケーションのすべてに影響します。
メモ:これらの値が変更されると、Gigabit Ethernetなど高速ネットワーク上でのレプリケーション時間が遅くなるなどマイナスの影響を受ける可能性があります。これらのパラメータを変更する前に、まずPlateSpin Supportに相談することを検討してください。
表 5-4に、PlateSpin環境設定ページ(https://Your_PlateSpin_Server/platespinconfiguration/)の環境設定パラメータを示します。これらの環境設定パラメータでは、デフォルト値と最大値を指定してファイル転送速度を制御することができます。高レイテンシのWAN環境での動作を最適化するために、試行錯誤を繰り返してこれらの値を変更できます。
表 5-4 ファイル転送環境設定パラメータのデフォルト値と最適値
パラメータ |
デフォルト値 |
Maximum Value |
---|---|---|
AlwaysUseNonVSSFileTransferForWindows2003 |
False |
|
FileTransferCompressionThreadsCount パケットレベルのデータ圧縮に使用されるスレッド数を制御します。圧縮が無効の場合、この設定は無視されます。圧縮はCPUに依存するため、この設定はパフォーマンスに影響を与える可能性があります。 |
2 |
該当なし |
FileTransferBufferThresholdPercentage 新しいネットワークパケットを作成して送信するためにバッファする必要があるデータの最小量を決定します。 |
10 |
|
FileTransferKeepAliveTimeOutMilliSec TCPがタイムアウトした場合にキープアライブメッセージを送信するまでに待機する時間を指定します。 |
120000 |
|
FileTransferLongerThan24HoursSupport |
True |
|
FileTransferLowMemoryThresholdInBytes サーバが自身をメモリ不足であると見なすタイミングを決定します。メモリが不足すると、ネットワーキング動作の増加を引き起こします。 |
536870912 |
|
FileTransferMaxBufferSizeForLowMemoryInBytes メモリ不足状態で使用する内部バッファサイズを指定します。 |
5242880 |
|
FileTransferMaxBufferSizeInBytes パケットデータを保持する内部バッファサイズを指定します。 |
31457280 |
|
FileTransferMaxPacketSizeInBytes 送信する最大パケットサイズを決定します。 |
1048576 |
|
FileTransferMinCompressionLimit パケットレベルの圧縮のしきい値をバイトで指定します。 |
0 (無効) |
最大65536 (64KB) |
FileTransferPort |
3725 |
|
FileTransferSendReceiveBufferSize レプリケーションネットワークのTCP接続の送受信バッファの最大サイズ(バイト単位)を定義します。バッファサイズはTCP受信ウィンドウ(RWIN)のサイズに影響します。RWINは、TCP確認応答なしで送信できるバイト数を設定するものです。この設定はファイルベース転送とブロックベース転送の両方に関係があります。ネットワークの帯域幅とレイテンシに応じてバッファサイズを微調整することで、スループットが向上し、CPU処理が軽減されます。 値を0 (オフ)に設定すると、デフォルトのTCPウィンドウサイズ(8KB)が使用されます。カスタムのサイズにするには、サイズをバイトで指定します。 次の式を使用して、適切な値を決定します。 ((リンク速度(Mbps) ÷ 8) x 遅延(秒))) x 1000 x 1024 たとえば、10ミリ秒の遅延のある100Mbpsのリンクでは、適切なバッファサイズは次のようになります。 (100/8)*0.01 * 1024 * 1000 = 128000バイト 微調整については、FileTransferSendReceiveBufferSizeの微調整を参照してください。 |
0 (8192バイト) |
最大5242880 (5MB) |
FileTransferSendReceiveBufferSizeLinux Linuxでのファイル転送接続のTCP/IP Receive Window (RWIN)サイズの設定を指定します。このパラメータは、TCP受信確認なしで送信されるバイト数を制御します。 値が0 (オフ)に設定されている場合、LinuxのTCP/IPウィンドウサイズ値はFileTransferSendReceiveBufferSizeの設定に基づいて自動的に計算されます。どちらのパラメータも0 (オフ)に設定されている場合、デフォルト値は248KBです。カスタムのサイズにするには、サイズをバイトで指定します。 メモ:旧リリースのバージョンでは、このパラメータを希望する値の半分に設定する必要がありましたが、現在はその必要はありません。 |
0 (253952バイト) |
|
FileTransferShutDownTimeOutInMinutes |
1090 |
|
FileTransferTCPTimeOutMilliSec TCP Send TimeoutとTCP Receive Timeoutの両方の値を設定します。 |
30000 |
|
PostFileTransferActionsRequiredTimeInMinutes |
60 |
|
FileTransferSendReceiveBufferSizeパラメータは、レプリケーションネットワークのTCP接続の送受信バッファの最大サイズ(バイト単位)を定義します。バッファサイズはTCP受信ウィンドウ(RWIN)のサイズに影響します。RWINは、TCP確認応答なしで送信できるバイト数を設定するものです。この設定はファイルベース転送とブロックベース転送の両方に関係があります。ネットワークの帯域幅とレイテンシに応じてバッファサイズを微調整することで、スループットが向上し、CPU処理が軽減されます。
FileTransferSendReceiveBufferSizeパラメータを微調整することで、ご使用のレプリケーション環境におけるソースサーバからターゲットサーバへのブロックまたはファイルの転送を最適化できます。PlateSpin環境設定ページ(https://Your_PlateSpin_Server/platespinconfiguration/)でパラメータを設定します。
最適なバッファサイズを計算するには:
ソースサーバとターゲットサーバとの間のレイテンシ(遅延)を判断します。
ここでの目的は、パケットサイズをできる限りMTUに近付けた場合に、レイテンシがどの程度かを確認することです。
管理者ユーザとしてソースサーバにログインします。
コマンドプロンプトで次のコマンドを入力します。
# ping <target-server-ip-address> -f -l <MTU_minus_28> -n 10
通常、pingの-lオプションは、target-server-ip-addressに対して指定したペイロードのヘッダに28バイトを追加します。したがって、MTUから28を引いたバイト数のサイズの値を最初に試してみることをお勧めします。
次のメッセージが表示されるまで、ペイロードを変更してステップ 1.bのコマンドを再入力する操作を繰り返します。
パケットの断片化が必要です。
レイテンシを秒単位に変換してメモします。
たとえば、レイテンシが35ms (ミリ秒)の場合、0.035をレイテンシとしてメモします。
初期バッファサイズのバイト値を計算します。
バッファサイズ = (帯域幅(Mbps) ÷ 8) x レイテンシ(秒) x 1000 x 1024
ネットワーク帯域幅にはバイナリ値を使用します。つまり、10Gbpsの場合は10240Mbps、1Gbpsの場合は1024Mbpsを使用します。
たとえば、10Gbpsネットワークでレイテンシが35msの場合、次のような計算になります。
バッファサイズ = (10240 ÷ 8) x 0.035 x 1000 x 1024 = 45875200バイト
(オプション)最適なバッファサイズを計算します。端数は最大セグメントサイズ(MSS)の倍数になるように切り上げます。
MSSを判断します。
MSS = MTUサイズ(バイト) - (IPヘッダサイズ + TCPヘッダサイズ)
IPヘッダサイズは20バイトです。TCPヘッダサイズは、20バイトにタイムスタンプなどのオプションのバイト数を足した値になります。
たとえば、MTUサイズが1470の場合、MSSは通常1430になります。
MSS = 1470バイト - (20バイト + 20バイト) = 1430バイト
最適なバッファサイズを計算します。
最適なバッファサイズ = (roundup( バッファサイズ ÷ MSS )) x MSS
上の例で計算すると、次のようになります。
最適なバッファサイズ = (roundup(45875200 ÷ 1430)) x 1430 = 32081 x 1430 = 45875830
切り捨てではなく切り上げで計算してください。切り捨てで計算すると、バッファサイズ45875200より小さいMSSの倍数になります。
最適ではないバッファサイズ = 32080 x 1430 = 45874400