介绍说明
迁移时长=总数据量/带宽大小/8*1.25
1.25为时间冗余量;由于云主机性能瓶颈、存在大文件改动多、小文件多等情况,可能存在无法跑满带宽与保持高速率传输,留存冗余,避免由于时间预估导致项目仓促;可根据情况自由调整误差系数。
说明
数据量与带宽单位需统一(GB/MB)。
数据量单位为Byte。
带宽单位(K/M/Gbps)。
iperf3测试结果bandwidth单位(Gbits/sec)等同于带宽Gbps,千兆比特每秒。
迁移带宽以迁移源出口带宽、目的端入口带宽、CMS平台中限制带宽中最小带宽为准。
操作步骤
若需要较为严格的时间预估建议通过软件进行测试:
- 根据源端云主机的OS类型下载对应iperf版本。
- 在源端云主机和目的端云主机(或者目的端云主机同一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次重传。