Linux VM与容器的网络IO测试

测试由KVM,vmwarm,virtualbox生产的VM和docker容器的网络IO性能;
 测试过程:
1)分别在同一台物理机安装kvm和virtualbox的hypervisor,生产kvm,virtualbox的CentOS73最小化安装实例,在该物理机上安装docker运行centos73最小化安装容器实例;在另一台安装VMwarm的物理机环境生产一台centos73最小化安装实例。
2)在centos73最小化安装实例,配置本地源,安装测试工具。
3)分别在三个实例中运行测试脚本进行测试。

iperf测试脚本

使用iperf对
1)测试实例到宿主机,
2)测试实例到宿主机的其他实例,
3)测试实例到宿主机以外的实例,
 三种场景的网络带宽性能测试
 在测试实例的宿主机,与测试实例同一宿主机的其他实例,测试实例宿主机以外的实例上启动iperf的server端

$ iperf -s

在是测试实例上启动iperf客户端去连接目标服务端进行测试

$ iperf -c $server_ip -t 60 -l 8k -i 10
#时长为60秒(-t 60),缓冲区的大小为8KB (-l 8k),每10秒(-i 10)打印一次测试结果

2) 测试实例到宿主机的其他实例
3)测试实例到宿主机以外的实例

netperf测试脚本

netperf可以模拟三种不同的TCP流量模式:

1、单个TCP连接,批量(bulk)传输大量数据;
2、单个TCP连接,client请求/server应答的交易(transaction)方式;
3、多个TCP连接,每个连接中一对请求/应答的交易方式

netperf可以模拟两种UDP的流量模式:

1、从client到server的单向批量传输;
2、请求/应答的交易方式。

使用netperf对
1)测试实例到宿主机,
2)测试实例到宿主机的其他实例,
3)测试实例到宿主机以外的实例,
 三种场景的三种tcp流量模式和二种UDP流量模式的网络IO性能测试。
 在测试实例的宿主机,与测试实例同一宿主机的其他实例,测试实例宿主机以外的实例上启动netperf的server端

$ netserver

在是测试实例上启动netperf客户端去连接目标服务端进行TCP批量传输性能测试测试

$ netperf -t TCP_STREAM -H $server_ip -l 60 -- -m 2048
#用 TCP 批量传输的方式 (-t TCP_STREAM)测试本机到 $server_ip 主机(-H $server_ip)的网络性能,时长 60 秒(-l 60),每次发送本地发送测试分组的大小为 2048Bytes (-m 2048)。

在是测试实例上启动netperf客户端去连接目标服务端进行UDP 批量传输性能测试

$ netperf -t UDP_STREAM -H $server_ip -l 60 -- -m 2048
#用 UDP 批量传输的方式 (-t UDP_STREAM)测试本机到 $server_ip 主机(-H $server_ip)的网络性能,时长 60 秒(-l 60),每次发送本地发送测试分组的大小为 2048Bytes (-m 2048)。

在是测试实例上启动netperf客户端去连接目标服务端进行一个 TCP 连接中进行多次 request 和 response 的交易过程的性能测试

$ netperf -t TCP_RR -H $server_ip -l 60 -- -r 64,1024
#用 TCP_RR 的方式(-t TCP_RR)测试本机到  $server_ip 主机(-H $server_ip)的网络性能,时长 60 秒(-l 60),设置 request 分组大小为 64Bytes,response 分组大小 1024Bytes。

在是测试实例上启动netperf客户端去连接目标服务端进行每个 TCP 连接中进行多次 request 和 response 的交易过程的性能测试

$ netperf -t TCP_CRR -H $server_ip -l 60 -- -r 64,1024
#用 TCP_CRR 的方式(-t TCP_CRR)测试本机到 $server_ip 主机(-H $server_ip)的网络性能,时长 60 秒(-l 60),设置 request 分组大小为 64Bytes,response 分组大小 1024Bytes。

在是测试实例上启动netperf客户端去连接目标服务端进行UDP 分组进行 request 和 response 交易过程的性能测试

$ netperf -t UDP_RR -H $server_ip -l 60 -- -r 64,1024
#用 UDP_RR 的方式(-t UDP_RR)测试本机到 $server_ip 主机(-H $server_ip)的网络性能,时长 60 秒(-l 60),设置 request 分组大小为 64Bytes,response 分组大小 1024Bytes。