linux系统测试网络pps、带宽和延时(方案来源于阿里云)

此方案来源于阿里云

pps测试

步骤

  1. 分别在测试机和辅助测试机上执行以下命令,下载Netperf。
shell 复制代码
wget https://benchmark-packages.oss-cn-qingdao.aliyuncs.com/netperf-2.7.0.tar.gz
  1. 分别在测试机和辅助测试机上执行以下命令,安装Netperf和sar监控工具。
shell 复制代码
sudo yum install -y gcc autoconf automake libtool sysstat
tar -zxvf netperf-2.7.0.tar.gz
  1. 查看gcc的版本(版本需要大于10)
shell 复制代码
gcc -v 2>&1
  1. 编译之前修改代码
shell 复制代码
cd netperf
vim src/nettest_omni.c
c 复制代码
# 去掉下面文件中的代码
/* different options for the sockets        */
int
  loc_nodelay,    /* don't/do use NODELAY  locally    */
  rem_nodelay,    /* don't/do use NODELAY remotely  */
  loc_sndavoid,    /* avoid send copies locally    */
  loc_rcvavoid,    /* avoid recv copies locally    */
  rem_sndavoid,    /* avoid send copies remotely    */
  rem_rcvavoid;   /* avoid recv_copies remotely    */
  1. 编译并安装
shell 复制代码
cd netperf
sudo ./configure
sudo make && sudo make install
  1. 查看测试机的ip
shell 复制代码
ifconfig
  1. 在测试机上执行以下命令,启动64个netserver服务。
shell 复制代码
#!/bin/bash
for j in `seq 64`; do
    netserver -p $[16000+j] > server_$[16000+j].netperf > /dev/null 2>&1  &
done
  1. 在辅助测试机上执行以下命令,向测试机输入流量。
shell 复制代码
#!/bin/bash
server_ip=<测试机私网IP地址>
for j in `seq 64`; do
    port=$[16000+j]
    netperf -H ${server_ip} -l ${run_time:-300} -t UDP_STREAM  -p $port  -- -m 1 -D > /dev/null 2>&1 &
done
  1. 在测试机上执行以下命令,测试网络PPS。
shell 复制代码
sar -n DEV 1

带宽

前面8个步骤的都是一样的,这里从第9步开始描述

  1. 在辅助测试机上执行以下命令,向测试机输入流量。
shell 复制代码
#!/bin/bash
server_ip=<测试机私网IP地址>
for j in `seq 64`; do
    port=$[16000+j]
    netperf -H ${server_ip} -l ${run_time:-300} -t TCP_STREAM -p $port -- -D > /dev/null 2>&1 & 
done
  1. 在测试机上执行以下命令,测试网络带宽。
shell 复制代码
sar -n DEV 1

延时

  1. 分别在测试机和辅助测试机上执行以下命令,安装sockperf。
shell 复制代码
sudo yum install -y autoconf automake libtool gcc-c++
cd /opt
sudo wget https://github.com/Mellanox/sockperf/archive/refs/tags/3.8.tar.gz
sudo tar -zxf 3.8.tar.gz
cd sockperf-3.8/
sudo ./autogen.sh
sudo ./configure
sudo make -j `cat /proc/cpuinfo| grep process | wc -l`
sudo make install
  1. 在测试机上执行以下命令,启动服务。
shell 复制代码
sockperf sr --tcp --daemonize
  1. 在辅助测试机上执行以下命令,向测试机输入流量。
shell 复制代码
sockperf pp -i <测试机私网IP地址> --tcp -t 30 -m 14 --full-log=result.json
  • 以avg-latency开头的结果数据表示平均时延,单位为us。
  • 以percentile 99.000开头的结果数据表示99分位时延,单位为μs。
相关推荐
木斯佳13 小时前
前端八股文面经大全:阿里云AI应用开发一面(2026-03-20)·面经深度解析
前端·人工智能·阿里云·ai·智能体·流式打印
ljh57464911913 小时前
linux awk 命令
linux·运维·chrome
向依阳13 小时前
RV1126准备-----编译和测试SDK自带的RKNN例程
linux·rv1226
the sun3414 小时前
Linux驱动开发:环境准备与报错处理
linux·运维·服务器
MC_J14 小时前
Linux 6.1 移植RTL8723du驱动
linux·arm
彭泽布衣14 小时前
Linux如何指定源端口打流
linux·运维·网络
晨晖214 小时前
Linux命令3
linux·运维·服务器
中议视控14 小时前
可编程网络中央控制系统的应用场景:会议室,多功能厅,指挥中心,展厅,报告厅,流动指挥车,多媒体教室
网络
arvin_xiaoting14 小时前
OpenClaw学习总结_I_核心架构_9:Multi-Agent详解
网络·学习·架构·系统架构·ai agent·multi-agent·openclaw
素雨迁喜14 小时前
Linux平台下git工具的使用
linux·运维·git