"); //-->
本文分享自天翼云开发者社区《云主机网络测试方法》,作者:高淑杰
测试指标
pps:表示通过 UDP 进行批量数据传输时的数据传输吞吐量,能反映网络极限转发能力。bps:表示通过 TCP 进行批量数据传输时的数据传输吞吐量,能反映网络极限带宽能力。
使用netperf进行网络测试
0 环境准备
创建两台相同配置 ECS, 其中一台作为server,另一台作为client
规格:s7.xlarge.2
镜像:centos 8.2
1 工具安装
分别在两台ECS上安装netperf
tar zxvf netperf-2.7.0.tar.gz cd netperf ./configure make && make install netserver -h netperf -h
2 测试bps
在server端执行如下脚本
pkill netperf pkill netserver c_cpu=` cat /proc/cpuinfo |grep processor |wc -l` port=18000 count=$1 for j in `seq ${count:-$c_cpu}`; do netserver -p $[$port+j] > /dev/null 2>&1 & done
在client端执行如下脚本
pkill netperf pkill netserver c_cpu=` cat /proc/cpuinfo |grep processor |wc -l` server=server_ip port=18000 time=300 count=$1 for j in `seq ${count:-$c_cpu}`; do netperf -H ${server} -l ${time:-300} -t TCP_STREAM -p $[$port+j] -- -D > /dev/null 2>&1 & done
sever端通过执行sar -n DEV 1 获取 rxkB/s,转换为带宽(kbps)=字节数(rxkB/s)*8,即为bps
3 pps测试
server端执行如下脚本
pkill netperf pkill netserver c_cpu=` cat /proc/cpuinfo |grep processor |wc -l` port=18000 count=$1 for j in `seq ${count:-$c_cpu}`; do netserver -p $[$port+j] > /dev/null 2>&1 & done
client端执行如下脚本
pkill netperf pkill netserver c_cpu=` cat /proc/cpuinfo |grep processor |wc -l` server=server_ip port=18000 count=$1 time=300 for j in `seq ${count:-$c_cpu}`; do netperf -H $server -p $[$port+j] -l ${time:-300} -t UDP_STREAM -- -m 1 -D > /dev/null 2>&1 & done
在server 执行sar -n DEV 1查看rxpck/s 列,即为pps
使用iperf进行网络测试0 环境准备
创建两台相同配置 ECS, 其中一台作为server,另一台作为client
规格:s7.xlarge.2
镜像:centos 8.2
1 工具安装
下载 rpm包 iperf3-3.1.3-1.fc24.x86_64.rpm rpm -ivh iperf3-3.1.3-1.fc24.x86_64.rpm iperf3 -h
2 bps测试
在serverd端执行如下脚本
pkill iperf3 c_cpu=` cat /proc/cpuinfo |grep processor |wc -l` count=$1 port=17000 for j in `seq ${count:$c_cpu}`; do iperf3 -s -p $[$port+j] > /dev/null 2>&1 & done
在client 端执行如下脚本
pkill iperf3 c_cpu=` cat /proc/cpuinfo |grep processor |wc -l` port=17000 server=10.3.128.18 count=$1 ths=`ethtool -l eth0 |grep Combined |tail -1 |awk '{print $2}'` for j in `seq ${count:-$c_cpu}`; do iperf3 -c $server -p $[$port+j] -t 60 -P $ths > /dev/null 2>&1 & done
sever端通过sar -n DEV 1 获取 rxkB/s,转换为带宽(kbps)=字节数(rxkB/s)*8
3 pps测试
在server端执行如下脚本
pkill iperf3 c_cpu=` cat /proc/cpuinfo |grep processor |wc -l` count=$1 port=17000 for j in `seq ${count:$c_cpu}`; do iperf3 -s -p $[$port+j] > /dev/null 2>&1 & done
在client 端执行如下脚本
pkill iperf3 c_cpu=` cat /proc/cpuinfo |grep processor |wc -l` port=17000 server=server_ip count=$1 ths=`ethtool -l eth0 |grep Combined |tail -1 |awk '{print $2}'` for j in `seq ${count:-$c_cpu}`; do iperf3 -u -c $server -p $[$port+j] -t 300 -P $ths -l 16 -b 2048M -A $[($j-1)%$c_cpu] > /dev/null 2>&1 & done
在server端执行sar -n DEV 1 查看rxpck/s 列 即为收包pps
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。