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。