searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

云主机网络测试方法

2023-09-20 01:36:06
44
0

测试指标

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

0条评论
0 / 1000
高淑杰
4文章数
0粉丝数
高淑杰
4 文章 | 0 粉丝