新闻  |   论坛  |   博客  |   在线研讨会
云主机网络测试方法
天翼云开发者 | 2025-03-24 15:28:04    阅读:20   发布文章

本文分享自天翼云开发者社区《云主机网络测试方法》,作者:高淑杰

测试指标

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


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
天翼云提供云主机、CDN、云电脑、大数据及AI等全线产品和场景化解决方案。
推荐文章
最近访客
站长统计
×

Digikey let's do
· 2025年第1期限时报名开启,5月8日截止
· Digikey助力,提供一站式免费器件支持
· 跟大佬一起 【DIY 功率监测与控制系统】