介紹說明
遷移時長=總數據量/帶寬大小/8*1.25
1.25為時間冗余量;由于云主機性能瓶頸、存在大文件改動多、小文件多等情況,可能存在無法跑滿帶寬與保持高速率傳輸,留存冗余,避免由于時間預估導致項目倉促;可根據情況自由調整誤差系數。
說明
數據量與帶寬單位需統一(GB/MB)。
數據量單位為Byte。
帶寬單位(K/M/Gbps)。
iperf3測試結果bandwidth單位(Gbits/sec)等同于帶寬Gbps,千兆比特每秒。
遷移帶寬以遷移源出口帶寬、目的端入口帶寬、CMS平臺中限制帶寬中最小帶寬為準。
操作步驟
若需要較為嚴格的時間預估建議通過軟件進行測試:
- 根據源端云主機的OS類型下載對應版本。


- 在源端云主機和目的端云主機(或者目的端云主機同一Region下的其他彈性云云主機)某一個目錄下解壓iperf工具。例如在Windows操作系統的iperf工具:


- 在目的端云主機上,以命令行方式運行iperf(服務端模式運行,以Windows操作系統為例):
- 執行以下命令,進入iperf目錄。
cd /d path
其中,path指步驟2中iperf工具解壓后在目的端云主機中的路徑。
- 執行以下命令,以服務端運行iperf。
iperf3 -p port -s
其中,port表示iperf工具的服務端監聽端口,建議Windows操作系統使用8900端口(8900為目的端云主機使用的數據傳輸端口),Linux操作系統使用22端口(22為目的端云主機使用的數據傳輸端口)。您測試的時候也可以使用其他端口,但要保證目的端云主機安全組規則允許開放該TCP或者UDP端口。更多的參數使用說明,請使用iperf -h查看。
以Windows操作系統使用8900端口為例,當回顯信息為Server listening on 8900時,表明服務端已經運行就緒。


- 在源端云主機上,以命令行方式運行iperf(客戶端模式運行),測試TCP帶寬和UDP的抖動、丟包率和帶寬(以Windows操作系統為例)。
- 執行以下命令,進入iperf目錄
cd /d path
其中,path指步驟2中iperf工具解壓后在源端云主機中的路徑。
-
執行以下命令,運行iperf工具,測試TCP帶寬。
iperf3 -c target_IP -p port -t time
其中,-c是客戶端模式運行。
- target_IP 表示目的端云主機(即以服務端模式運行iperf的云主機)的IP地址。
- port表示連接目的端云主機的端口(即3.b中 iperf監聽端口)。
- time表示測試總時間,默認單位為秒。
以Windows操作系統使用8900端口為例,iperf客戶端連接到iperf服務端成功后會進行帶寬(Bandwidth)測試,測試結束后查看結果即可:


-
執行以下命令,運行iper測試UDP的抖動、丟包率和帶寬。
iperf3 -c target_IP -p port -u -t time
其中,-u表示測試UDP的抖動、丟包率和帶寬。
- target_IP 表示目的端云主機(即以服務端模式運行iperf的云主機)的IP地址。
- port表示連接目的端云主機的端口(即3.b中 iperf監聽端口)。
- time表示測試總時間,默認單位為秒。
以Windows操作系統使用8900端口為例,iperf客戶端連接到iperf服務端成功后會測試UDP的抖動(Jitter)、丟包率(Lost/Total Datagrame)和帶寬(Bandwidth),測試結束后查看結果即可。


-
若需要測試網絡時延,可以使用ping命令。
ping target_iP
target_IP 表示目的端云主機(即以服務端模式運行iperf的云主機)的IP地址。
需要配置目的端云主機所在的VPC的安全組規則,允許ICMP協議報文通過。
-
執行以下命令,獲取更多的iperf的使用幫助。或者參照獲取相應的使用幫助。
iperf3 -h
測試示例
-
運行以下命令
iperf3 -c target_iP -p port -i 1 -d

說明
iperf3常用參數如下:
-s 以云主機啟動;
-c 后云主機地址;
-i 表示多久打印一次數據;
-t 測試時間;
-n 發送的數據包大小;
-p 發送的線程數;
-T 指定ttl值;
-d以 debug 模式輸出結果。
- 查看iperf結果


結果參考:
| [ ID] | Interval | Transfer | Bandwidth | Retr |
|---|---|---|---|---|
| [ 4] | 0.00-10.00sec | 2.72 GBytes | 2.34 Gbits/sec | 154 sender |
| [ 4] | 0.00-10.00 sec | 2.72 GBytes | 2.33 Gbits/sec | receiver |
- [ ID]:表示測試任務的ID號,每個iperf3測試任務都有一個唯一的ID。
- Interval:表示測試的時間間隔,這里顯示的是從開始到結束的時間段,單位為秒。
- Transfer:表示在測試時間間隔內傳輸的數據量,以字節為單位。在這個例子中,傳輸了2.72 GBytes(千兆字節)的數據。
- Bandwidth:表示帶寬,即數據傳輸速率。在這個例子中,發送帶寬為2.34 Gbits/sec(千兆位每秒),接收帶寬為2.33 Gbits/sec(千兆位每秒)。
- Retr:表示在數據傳輸過程中發生的重傳次數。在這個例子中,共發生了154次重傳。