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

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。

在这里插入图片描述

相关文章:

  • 解锁建造者模式:Java 编程中的对象构建秘籍
  • IT行业方向细分,如何做到专家水平——4.网络安全(Cybersecurity)
  • 进化强化学习
  • 计算机毕业设计PySpark+PyFlink+Hive地震预测系统 地震数据分析可视化 地震爬虫 大数据毕业设计 Hadoop 机器学习 深度学习
  • 自建 Redis 中设置 ACL 用户和权限
  • 【Matlab算法】基于人工势场的多机器人协同运动与避障算法研究(附MATLAB完整代码)
  • Unity与SVN集成:实现高效版本控制
  • Bigemap pro如何添加星图地球
  • MySQL创建存储过程和存储函数
  • ubuntu服务器部署
  • IPv4 协议和TCP 协议的区别
  • 玩转状态模式
  • mysql基础操作语句
  • 数据结构:Map Set(一)
  • 【Jenkins流水线搭建】
  • getContainer 是 Ant Design 中重要属性
  • 0基础学LabVIEW
  • 第五篇:AI增强与未来演进——指标管理平台的智能化革命
  • org.apache.kafka.common.errors.TimeoutException
  • C语言:数组和冒泡排序
  • 价格周报|本周猪价继续下探,机构预计今年猪价中枢有支撑
  • 浙江演艺集团7部作品组团来沪,今夏开启首届上海演出季
  • 广西壮族自治区党委常委会:坚决拥护党中央对蓝天立进行审查调查的决定
  • 讲座|消逝之钟:《红楼梦》与《布登勃洛克一家》中的时间观
  • 通用汽车回应进口车业务调整传闻:因经济形势变化重组,致力于在中国持续发展
  • Offer触手可及,2025上海社会组织联合招聘专场活动正寻找发光的你