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。
相关推荐
ROCKY_8175 小时前
计算机网络考试考点——应用层
服务器·网络·计算机网络
java_logo5 小时前
MySQL Server Docker 容器化部署指南
linux·运维·数据库·docker·容器
誰能久伴不乏5 小时前
Linux文件套接字AF_UNIX
linux·服务器·c语言·c++·unix
a41324475 小时前
如何解决centos上oracle连接问题
linux·oracle·centos
h***34635 小时前
在linux(Centos)中Mysql的端口修改保姆级教程
linux·mysql·centos
星释5 小时前
Rust 练习册 97:Run-Length Encoding 压缩算法
java·linux·rust
2509_940880225 小时前
Linux(CentOS)安装 MySQL
linux·mysql·centos
可爱又迷人的反派角色“yang”5 小时前
LVS+Keepalived群集
linux·运维·服务器·前端·nginx·lvs
Nerd Nirvana5 小时前
15个提升开发效率的VS Code插件推荐
linux·vscode·开发工具·嵌入式软件开发·插件使用·智能采集设备·边缘终端
v***16026 小时前
Linux安装Redis以及Redis三种启动方式
linux·redis·bootstrap