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。
相关推荐
广州灵眸科技有限公司15 分钟前
从手动三步到上电即连:4G模组systemd开机自连方案
linux·运维·服务器·开发语言·网络·人工智能·php
埃科光电33 分钟前
16K万兆网口彩色线阵相机:四倍带宽 高速真彩检测新方案
网络·图像处理·数码相机·计算机视觉·制造·相机
susplus2 小时前
【linux应用软件编程】数据库sqlite3
linux·数据库·sqlite
GeW2 小时前
RHCE的评分潜规则:这样做实验,每题多拿20%分数
linux
运维全栈笔记2 小时前
Windows 安装 WSL2 并运行 Ubuntu 24.04 指南
linux·网络·windows·ubuntu
FlightYe2 小时前
音视频修炼之基础理论(五):AAC格式与解析
android·linux·c++·音视频·aac
qq_452396232 小时前
第十篇:《eBPF 可观测性:零侵扰的深度内核追踪》
服务器·网络·php
迪康Defender2 小时前
政企内网终端安全建设:资产‑管控‑防护‑审计闭环能力拆解
运维·网络·安全·web安全·终端安全管理
晓天衡宇•评测社区2 小时前
Seedance 2.5 登顶图生视频榜单,Wan 3.0 在游戏与教育场景进入前列
前端·javascript·网络
米糕闯编程3 小时前
鱼香ros2(一)在ubuntu中安装ros2
linux·运维·ubuntu·机器学习