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。
相关推荐
Ether IC Verifier1 小时前
TCP三次握手与四次挥手详解
网络·网络协议·tcp/ip·计算机网络
wj3055853787 小时前
课程 9:模型测试记录与 Prompt 策略
linux·人工智能·python·comfyui
星寂樱易李8 小时前
iperf3 + Python-- 网络带宽、网速、网络稳定性
开发语言·网络·python
abigriver8 小时前
打造 Linux 离线大模型级语音输入法:Whisper.cpp + 3090 显卡加速与 Rime 中英混输终极调优指南
linux·运维·whisper
wangqiaowq8 小时前
windows下nginx的安装
linux·服务器·前端
YYRAN_ZZU9 小时前
Petalinux新建自动脚本启动
linux
charlie1145141919 小时前
嵌入式Linux驱动开发pinctrl篇(1)——从寄存器到子系统:驱动演进之路
linux·运维·驱动开发
于小猿Sup9 小时前
VMware在Ubuntu22.04驱动Livox Mid360s
linux·c++·嵌入式硬件·自动驾驶
cen__y9 小时前
Linux12(Git01)
linux·运维·服务器·c语言·开发语言·git
不仙52011 小时前
VMware Workstation 26.0.0 在 Ubuntu 24.04 (内核 6.17.0) 上的安装与内核模块编译问题
linux·ubuntu·elasticsearch