当前位置: 首页 > article >正文

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

此方案来源于阿里云

pps测试

步骤

  1. 分别在测试机和辅助测试机上执行以下命令,下载Netperf。
wget https://benchmark-packages.oss-cn-qingdao.aliyuncs.com/netperf-2.7.0.tar.gz
  1. 分别在测试机和辅助测试机上执行以下命令,安装Netperf和sar监控工具。
sudo yum install -y gcc autoconf automake libtool sysstat
tar -zxvf netperf-2.7.0.tar.gz
  1. 查看gcc的版本(版本需要大于10)
gcc -v 2>&1
  1. 编译之前修改代码
cd netperf
vim src/nettest_omni.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. 编译并安装
cd netperf
sudo ./configure
sudo make && sudo make install
  1. 查看测试机的ip
ifconfig
  1. 在测试机上执行以下命令,启动64个netserver服务。
#!/bin/bash
for j in `seq 64`; do
    netserver -p $[16000+j] > server_$[16000+j].netperf > /dev/null 2>&1  &
done
  1. 在辅助测试机上执行以下命令,向测试机输入流量。
#!/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。
sar -n DEV 1

在这里插入图片描述

带宽

前面8个步骤的都是一样的,这里从第9步开始描述
9. 在辅助测试机上执行以下命令,向测试机输入流量。

#!/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. 在测试机上执行以下命令,测试网络带宽。
sar -n DEV 1

在这里插入图片描述

延时

  1. 分别在测试机和辅助测试机上执行以下命令,安装sockperf。
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. 在测试机上执行以下命令,启动服务。
sockperf sr --tcp --daemonize
  1. 在辅助测试机上执行以下命令,向测试机输入流量。
sockperf pp -i <测试机私网IP地址> --tcp -t 30 -m 14 --full-log=result.json
  • 以avg-latency开头的结果数据表示平均时延,单位为us。
  • 以percentile 99.000开头的结果数据表示99分位时延,单位为μs。

在这里插入图片描述


http://www.kler.cn/a/548611.html

相关文章:

  • 向量元素间是否相等mask矩阵
  • 日常知识点之遗留问题梳理(被问到用uml画设计模式)
  • CAS单点登录(第7版)1.首页
  • conda在powershell7.5执行出现问题
  • 亚远景-ASPICE 4.0与敏捷开发:如何实现高效协同
  • 数据结构 二叉树
  • Win11 远程 连接 Ubuntu20.04(局域网)
  • 使用 VMware 实现虚拟化基础架构
  • 服务器延迟给视频网站造成的影响
  • Ubuntu 下 nginx-1.24.0 源码分析 - ngx_regex_init 函数
  • mysql用户名怎么看
  • 股票数据接口API实例代码python、JAVA等多种语言演示免费获取实时数据、历史数据、CDMA、KDJ等指标数据配有API说明文档
  • PyQt6/PySide6 的 SQL 数据库操作(QtSql)
  • 1-6 gitee提交后绿点
  • Python 视频文本水印批量添加工具
  • 打破AI黑盒,拥抱开源力量:基于openGauss+DeepSeek的本地知识库,打造你的专属AI助手!
  • 清影2.0(AI视频生成)技术浅析(二):自然语言处理
  • 更加通用的Hexo多端部署原理及实现,适用于各种系统之间
  • 【机器学习】催收评分卡模型(Collection Scorecard)
  • springboot项目读取 resources 目录下的文件的9种方式