您可以最佳化資料傳輸效能並針對 WAN 連接予以微調。若要實現此目的,您可以修改系統從您在 PlateSpin 伺服器主機上的組態工具中所進行之設定中讀取的組態參數。如需一般程序,請參閱PlateSpin 組態。
使用檔案傳輸組態參數設定可最佳化整個 WAN 中的資料傳輸。以下設定是全域性的,會影響所有檔案式複製及 VSS 複製。
附註:若修改了這些值,高速網絡 (例如千兆位元以太網路) 上的複製時間可能會受到負面影響。建議您在修改其中的任何參數之前先諮詢 PlateSpin 支援人員。
表 5-4 列出了 PlateSpin 組態頁面 (https://Your_PlateSpin_Server/platespinconfiguration/) 上控制檔案傳輸速度的組態參數,以及預設值和最大值。您可以透過試錯法修改這些值,以最佳化高延遲 WAN 環境中的操作。
表 5-4 檔案傳輸組態參數的預設值和最佳值
參數 |
預設值 |
最大值 |
---|---|---|
AlwaysUseNonVSSFileTransferForWindows2003 |
False |
|
FileTransferCompressionThreadsCount 控制用於封包層級資料壓縮的線串數。如果停用壓縮,此設定會被忽略。由於壓縮受 CPU 的限制,因此該設定可能會影響效能。 |
2 |
無 |
FileTransferBufferThresholdPercentage 決定在建立並傳送新網路封包之前至少必須緩衝的資料量。 |
10 |
|
FileTransferKeepAliveTimeOutMilliSec 指定 TCP 逾時後需要等待多久才能開始傳送持續連接訊息。 |
120000 |
|
FileTransferLongerThan24HoursSupport |
True |
|
FileTransferLowMemoryThresholdInBytes 決定伺服器何時認為自己處於低記憶體狀態,這會導致某些網路行為的增強。 |
536870912 |
|
FileTransferMaxBufferSizeForLowMemoryInBytes 指定處於低記憶體狀態時使用的內部緩衝區大小。 |
5242880 |
|
FileTransferMaxBufferSizeInBytes 指定用於保留封包資料的內部緩衝區大小。 |
31457280 |
|
FileTransferMaxPacketSizeInBytes 決定將傳送的最大封包。 |
1048576 |
|
FileTransferMinCompressionLimit 指定封包層級壓縮限定值,以位元組計。 |
0 (停用) |
最大值為 65536 (64 KB) |
FileTransferPort |
3725 |
|
FileTransferSendReceiveBufferSize 定義複製網路中 TCP 連接之傳送和接收緩衝區的最大大小 (以位元組計)。緩衝區大小會影響 TCP 接收視窗 (RWIN) 大小,該大小設定了在未獲得 TCP 確認的情況下可以傳送的位元組數。此設定對檔案式傳輸和區塊式傳輸都會有影響。依據您的網路頻寬和延遲調整緩衝區大小可提高輸送量並減輕 CPU 處理負荷。 當此值設定為零 (關閉) 時,系統會使用預設的 TCP 緩衝區大小 (8 KB)。若要使用自訂大小,請指定相應的位元組數量。 使用以下公式確定適當的值︰ ((以 Mbps 計的連結速度 / 8) * 延遲秒數)) * 1000 * 1024 例如,如果連結速度為 100 Mbps,延遲時間為 10 毫秒,則正確的緩沖區大小應當為︰ (100/8)*0.01*1024*1000 = 128000 位元組 如需調整資訊,請參閱調整 FileTransferSendReceiveBufferSize。 |
0 (8192 位元組) |
最大值為 5242880 (5 MB) |
FileTransferSendReceiveBufferSizeLinux 指定 Linux 檔案傳輸連接的 TCP/IP 接收視窗 (RWIN) 大小設定。它用於控制所傳送的未經 TCP 確認的位元組數量。 當此值設定為零 (關閉) 時,系統會依據 FileTransferSendReceiveBufferSize 設定自動計算 Linux 的 TCP/IP 緩衝區大小值。如果兩個參數都設定為零 (關閉),則預設值為 248 KB。若要使用自訂大小,請指定相應的位元組數量。 附註:在以前的發行版本中,您需要將此參數設定為目標值的 1/2,但現在不再需要如此設定。 |
0 (253952 位元組) |
|
FileTransferShutDownTimeOutInMinutes |
1090 |
|
FileTransferTCPTimeOutMilliSec 設定 TCP 傳送逾時值與 TCP 接收逾時值。 |
30000 |
|
PostFileTransferActionsRequiredTimeInMinutes |
60 |
|
FileTransferSendReceiveBufferSize 參數定義複製網路中 TCP 連接的傳送和接收緩衝區的最大大小 (以位元組計)。緩衝區大小會影響 TCP 接收視窗 (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 中的指令,直到收到以下訊息︰
封包需要分割。
記下延遲秒數。
例如,如果延遲為 35 毫秒,則請記下 0.035 做為延遲值。
計算以位元組計的初始緩衝區大小︰
緩衝區大小 = (以 Mbps 計的頻寬 / 8) * 延遲秒數 * 1000 * 1024
網路頻寬採用二進位值。即,10 Gbps = 10240 Mbps,1 Gbps = 1024 Mbps。
例如,延遲為 35 毫秒的 10 Gbps 網路的計算公式為︰
緩衝區大小 = (10240 / 8) * 0.035 * 1000 * 1024 = 45875200 位元組
(選擇性) 透過向上捨入至最大區段大小 (MSS) 的倍數計算最佳緩衝區大小。
確定 MSS︰
MSS = 以位元組計的 MTU 大小 - (IP 標題大小 + TCP 標題大小)
IP 標頭大小為 20 位元組。TCP 標頭大小為 20 位元組 + 時間戳記等選項的位元組數。
例如,如果您的 MTU 大小為 1470,則 MSS 通常為 1430。
MSS = 1470 位元組 - (20 位元組 + 20 位元組) = 1430 位元組
計算最佳緩衝區大小︰
最佳緩衝區大小 = (roundup(緩衝區大小 / MSS )) * MSS
以上面的數值為例︰
最佳緩衝區大小 = (roundup(45875200 / 1430)) * 1430 = 32081 * 1430 = 45875830
請向上捨入而不是向下捨入,因為向下捨入得出的 MSS 倍數小於緩衝區大小 45875200︰
非最佳緩衝區大小 = 32080 * 1430 = 45874400