netperf测试
netperf测试
目录
-
批量网络流量性能测试
- TCP_STREAM测试
- UDP_STREAM
-
测试请求/应答网络流量测试
-
TCP_RR
-
TCP_CRR
-
Netperf 是一个网络性能测试工具,它可以测试网络协议栈的性能,例如TCP和UDP协议。Netperf可以测量网络吞吐量、延迟和CPU利用率等指标。它是一个开源工具,可在多种操作系统上运行,包括Linux、Windows和Mac OS X等。
Netperf支持多种常见的网络测试模式,包括TCP_STREAM、UDP_STREAM、TCP_MAERTS和UDP_RR等。用户可以使用Netperf来测试本地和远程网络的性能,以评估网络基础设施的性能和可靠性。
批量网络流量性能测试
根据使用传输协议的不同,批量数据传输又分为TCP批量传输和UDP批量传输。
服务端
服务端启动服务执行
eddy@eddy:~$ netserver
Unable to start netserver with 'IN(6)ADDR_ANY' port '12865' and family AF_UNSPEC
默认情况下 netserver 开启端口号为 12865,可以通过以下命令指定服务端口(如果服务端指定端口,则客户端也需要指定服务器端口)
eddy@eddy:~$ sudo netserver -D -p 4659
查看netperf帮助
eddy@eddy:~$ netperf -hUsage: netperf [global options] -- [test options]Global options:-a send,recv Set the local send,recv buffer alignment-A send,recv Set the remote send,recv buffer alignment-B brandstr Specify a string to be emitted with brief output-c [cpu_rate] Report local CPU usage-C [cpu_rate] Report remote CPU usage-d Increase debugging output-D time,[units] * Display interim results at least every time intervalusing units as the initial guess for units per secondA negative value for time will make heavy use of thesystem's timestamping functionality-f G|M|K|g|m|k Set the output units-F lfill[,rfill]* Pre-fill buffers with data from specified file-h Display this text-H name|ip,fam * Specify the target machine and/or local ip and family-i max,min Specify the max and min number of iterations (15,1)-I lvl[,intvl] Specify confidence level (95 or 99) (99)and confidence interval in percentage (10)-j Keep additional timing statistics-l testlen Specify test duration (>0 secs) (<0 bytes|trans)-L name|ip,fam * Specify the local ip|name and address family-o send,recv Set the local send,recv buffer offsets-O send,recv Set the remote send,recv buffer offset-n numcpu Set the number of processors for CPU util-N Establish no control connection, do 'send' side only-p port,lport* Specify netserver port number and/or local port-P 0|1 Don't/Do display test headers-r Allow confidence to be hit on result only-s seconds Wait seconds between test setup and test start-S Set SO_KEEPALIVE on the data connection-t testname Specify test to perform-T lcpu,rcpu Request netperf/netserver be bound to local/remote cpu-v verbosity Specify the verbosity level-W send,recv Set the number of send,recv buffers-v level Set the verbosity level (default 1, min 0)-V Display the netperf version and exit-y local,remote Set the socket priority-Y local,remote Set the IP_TOS. Use hexadecimal.-Z passphrase Set and pass to netserver a passphraseFor those options taking two parms, at least one must be specified;
specifying one value without a comma will set both parms to that
value, specifying a value with a leading comma will set just the second
parm, a value with a trailing comma will set just the first. To set
each parm to unique values, specify both and separate them with a
comma.* For these options taking two parms, specifying one value with no comma
will only set the first parms and will leave the second at the default
value. To set the second value it must be preceded with a comma or be a
comma-separated pair. This is to retain previous netperf behaviour.
查看netserver帮助
eddy@eddy:~$ netserver -hUsage: netserver [options]Options:-h Display this text-D Do not daemonize-d Increase debugging output-f Do not spawn chilren for each test, run serially-L name,family Use name to pick listen address and family for family-N No debugging output, even if netperf asks-p portnum Listen for connect requests on portnum.-4 Do IPv4-6 Do IPv6-v verbosity Specify the verbosity level-V Display version information and exit-Z passphrase Expect passphrase as the first thing receivededdy@eddy:~$
TCP_STREAM测试
Netperf缺省情况下进行TCP批量传输,即-t TCP_STREAM,用来测试进行TCP批量传输时的网络性能。
测试过程中,netperf向netserver发送批量的TCP数据分组,以确定数据传输过程中的吞吐量。
服务端
eddy@eddy:~$ sudo netserver -D -p 4659
客户端
eddy@eddy:~$ sudo netperf -t TCP_STREAM -H 192.168.159.131 -l 5 -p 4659
MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.159.131 () port 0 AF_INET : demo
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec131072 16384 16384 5.02 867.98
eddy@eddy:~$
UDP_STREAM测试
UDP_STREAM用来测试进行UDP批量传输时的网络性能。
测试UDP的网络性能时,测试分组的大小不得大于socket的发送与接收缓冲大小,否则netperf会报出错提示。
服务端
eddy@eddy:~$ sudo netserver -D -p 4659
客户端
eddy@eddy:~$ sudo netperf -t UDP_STREAM -H 192.168.159.131 -l 5 -p 4659
MIGRATED UDP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.159.131 () port 0 AF_INET : demo
Socket Message Elapsed Messages
Size Size Time Okay Errors Throughput
bytes bytes secs # # 10^6bits/sec212992 65507 5.00 3275 0 343.22
212992 5.00 3229 338.40eddy@eddy:~$
测试请求/应答网络流量测试
TCP_RR
TCP_RR 方式的测试对象是多次 TCP request 和 response 的交易过程,但是它们发生在同一个 TCP 连接中,这种模式常常出现在数据库应用中。数据库的 client 程序与 server 程序建立一个 TCP 连接以后,就在这个连接中传送数据库的多次交易过程。
5秒内TCP_RR数据
eddy@eddy:~$ sudo netperf -t TCP_RR -H 192.168.159.131 -l 5
MIGRATED TCP REQUEST/RESPONSE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.159.131 () port 0 AF_INET : demo : first burst 0
Local /Remote
Socket Size Request Resp. Elapsed Trans.
Send Recv Size Size Time Rate
bytes Bytes bytes bytes secs. per sec16384 131072 1 1 5.00 1669.24
16384 131072
eddy@eddy:~$
可使用-- -r <Request size>,<Resp size>更改请求和相应大小
TCP_CRR
5秒内TCP_CRR数据
eddy@eddy:~$ sudo netperf -t TCP_CRR -H 192.168.159.131 -l 5
MIGRATED TCP Connect/Request/Response TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.159.131 () port 0 AF_INET : demo
Local /Remote
Socket Size Request Resp. Elapsed Trans.
Send Recv Size Size Time Rate
bytes Bytes bytes bytes secs. per sec16384 131072 1 1 5.00 458.35
16384 131072
eddy@eddy:~$
可使用-- -r <Request size>,<Resp size>更改请求和相应大小
UDP_RR
eddy@eddy:~$ sudo netperf -t UDP_RR -H 192.168.159.131 -l 5
MIGRATED UDP REQUEST/RESPONSE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.159.131 () port 0 AF_INET : demo : first burst 0
Local /Remote
Socket Size Request Resp. Elapsed Trans.
Send Recv Size Size Time Rate
bytes Bytes bytes bytes secs. per sec212992 212992 1 1 5.00 1684.71
212992 212992
eddy@eddy:~$
可使用-- -r <Request size>,<Resp size>更改请求和相应大小
eddy@eddy:~$ sudo netperf -t UDP_RR -H 192.168.159.131 -l 5 -- -r 128,8192
MIGRATED UDP REQUEST/RESPONSE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.159.131 () port 0 AF_INET : demo : first burst 0
Local /Remote
Socket Size Request Resp. Elapsed Trans.
Send Recv Size Size Time Rate
bytes Bytes bytes bytes secs. per sec212992 212992 128 8192 5.00 1690.62
212992 212992
eddy@eddy:~$
🛴
(#°Д°)
🛸
参考
第 4 章 Netperf 网络测试 (brinnatt.com)
【山外笔记-工具框架】Netperf网络性能测试工具详解教程-云社区-华为云 (huaweicloud.com)
相关文章:
netperf测试
netperf测试 目录 批量网络流量性能测试 TCP_STREAM测试UDP_STREAM 测试请求/应答网络流量测试 TCP_RR TCP_CRR Netperf 是一个网络性能测试工具,它可以测试网络协议栈的性能,例如TCP和UDP协议。Netperf可以测量网络吞吐量、延迟和CPU利用率等指标。…...
ORACLE常用语句
1.修改用户密码 alter user 用户名 identified by 新密码; 2.表空间扩容 1.增加数据文件 alter tablespace AA add datafile ‘DATA’ size 20G autoextend off; 2.修改数据文件大小 ALTER DATABASE DATAFILE ‘E:\ORACLE\PRODUCT\10.2.0\ORADATA\aa\aa.DBF’ RESIZE 400M;…...
[论文笔记]C^3F,MCNN:图片人群计数模型
(万能代码)CommissarMa/Crowd_counting_from_scratch 代码:https://github.com/CommissarMa/Crowd_counting_from_scratch (万能代码)C^3 Framework开源人群计数框架 科普中文博文:https://zhuanlan.zhihu.com/p/65650998 框架网址:https…...
HCIP-7.2VLAN间通信单臂、多臂、三层交换方式学习
VLAN间通信单臂、多臂、三层交换方式学习 1、单臂路由2、多臂路由3、三层交换机的SVI接口实现VLAN间通讯3.1、VLANIF虚拟接口3.2、VLAN间路由3.2.1、单台三层路由VLAN间通信,在一台三层交换机内部VLAN之间直连。3.2.2、两台三层交换机的之间的VLAN通信。3.2.3、将物…...
PHP快速入门17-用spl_autoload_register实现类的自动加载
文章目录 前言实现过程创建两个类创建入口文件 总结 前言 本文已收录于PHP全栈系列专栏:PHP快速入门与实战 PHP类自动载入是指在PHP应用程序中,当需要使用某个类文件时,系统会自动加载该类文件,无需手动引入。 在PHP中…...
【黑马程序员 C++教程从0到1入门编程】【笔记8】 泛型编程——模板
https://www.bilibili.com/video/BV1et411b73Z?p167 C泛型编程是一种编程范式,它的核心思想是编写通用的代码,使得代码可以适用于多种不同的数据类型。 而模板是C中实现泛型编程的一种机制,它允许我们编写通用的代码模板,然后在需…...
分享10个精美可视化模板,解决95%的大屏需求!
前段时间和朋友一起喝茶,我吐槽着excel表格做报表的繁琐,他惊讶的问我竟然不知道大屏模板这种东西,说是直接套用数据就可以,我震惊的同时吃下了这个安利。 回来之后,我好好研究了一番这个叫可视化大屏的“新鲜玩意儿”…...
好用的项目管理软件的具体功能有哪些
随着企业规模不断的扩大,项目管理往往会面临更多的挑战与难题,最常见的会出现以下几个问题:资源消耗失控,而项目部门和相关部门之间沟通越来越困难;团队凝聚力下降、项目进度难以把控,项目成本几乎失控&…...
< 每日小技巧: 基于Vue状态的过渡动画 - Transition 和 TransitionGroup>
》基于Vue状态的过渡动画 - Transition 和 TransitionGroup 👉 一、Vue Transition 简介> Transition 和 TransitionGroup 之间的区别 👉 二、<Transition> 组件> 触发 <Transition> 组件的场景:> 基于 CSS 的过渡效果&…...
vmware安装redhat 8
vmware安装redhat 8 1、下载镜像文件1.1 镜像文件 2、安装系统2.1、选择自定义安装2.2、兼容性选择2.3、选择镜像文件导入2.4、设置用户名密码2.5、选择虚拟机在磁盘上的位置2.6、选择处理器数量2.7、选择内存大小2.8、选择桥接或NAT2.9、选择SCSI控制器类型2.10、选择虚拟机磁…...
OpenCV C++案例实战三十一《动态时钟》
OpenCV C案例实战三十一《动态时钟》 前言一、绘制表盘二、绘制刻线三、获取系统时间四、结果展示五、源码总结 前言 本案例将使用OpenCV C实现动态时钟效果。原理也很简单,主要分为绘制表盘、以及获取系统时间两步。 一、绘制表盘 首先为了效果显示美观一点&…...
字节后端入门 - Go 语言原理与实践
1.1什么是Go语言 1.2Go语言入门 环境 1.3基础语法 1.3.1变量 var name"value" 自己推断变量类型; 也可以显式类型 var c int 1 name: type(value) 常量: const name "value" g : a"foo" 字符串拼接 1.3.2 if else {}花括号…...
锂电材料浆料匀浆搅拌设备轴承经常故障如何处理?
锂电材料浆料匀浆搅拌设备是锂电池生产中重要的设备之一,用于将活性材料、导电剂、粘结剂和溶剂混合成均匀的浆料,是电极制备过程中不可或缺的步骤。然而,由于高速搅拌和化学腐蚀等因素的影响,轴承经常会出现故障,导致…...
设计模式——设计模式介绍和单例设计模式
导航: 【黑马Java笔记踩坑汇总】JavaSEJavaWebSSMSpringBoot瑞吉外卖SpringCloud黑马旅游谷粒商城学成在线设计模式牛客面试题 目录 一、设计模式概述和分类 1.1 设计模式介绍 1.2 设计模式分类 二、创建型设计模式-单例模式 2.1 介绍 2.2 八种单例模式的创…...
利用Iptables构建虚拟路由器
利用Iptables构建虚拟路由器 (1)修改网络类型 在VMware Workstation软件中选择“编辑→虚拟网络编辑器”菜单命令,在虚拟网络列表中选中VMnet1,将其配置为“仅主机模式(在专用网络内连接虚拟机)”&#x…...
C++——类和对象[中]
0.关注博主有更多知识 C知识合集 目录 1.类的默认成员函数 2.构造函数和析构函数基础 3.构造函数进阶 4.析构函数进阶 5.拷贝构造函数 6.运算符重载 7.日期类 7.1输入&输出&友元函数 8.赋值运算符重载 9.const成员函数 9.1日期类完整代码 10.取地址重载 …...
Symbol.iterator和Symbol.asyncIterator
Symbol是什么? symbol是ES6标准中新增的一种基本数据类型,symbol 的值是通过 Symbol()函数返回的,每一个 symbol 的值都是唯一的,即使传入相同的描述值。 注:Symbol 函数不允许通过 new 的方式调用 Symbol的作用是什…...
忆暖行动|“他一个人推着老式自行车在厚雪堆的道路上走,车上带着学生考试要用的司机”
忆暖行动|“他一个人推着老式自行车在厚雪堆的道路上走,车上带着学生考试要用的sj” 一头白发,满山青葱 在那斑驳的物件褶皱中,透过泛黄的相片,掩藏着岁月的冲刷和青葱的时光。曾经的青年早已经不复年轻,但是那份热爱…...
Python中True、False、None的判断(避坑)
2.4 Python中True、False、None的判断 在Python中,所有的空值和0在作为条件表达式时,隐式的进行bool转换后都是False,比如:空列表:[]、空字符串:‘’、空字典:{}等等。 from icecream import …...
Spring Bean定义有哪些方式?
概述 对于学习Spring的兄弟姐妹来说,觉得这个问题很熟悉,若是要把它回答得很清楚,却是很为难?平时写代码的时候,不会在意这些概念问题,但面试时这个问题出现的频率却是很高,所以还是必须要掌握…...
李慕婉-仙逆-造相Z-Turbo AI核心原理科普:如何用Transformer理解并生成人类语言
李慕婉-仙逆-造相Z-Turbo AI核心原理科普:如何用Transformer理解并生成人类语言 你有没有想过,当你和“李慕婉-仙逆-造相Z-Turbo”这样的AI模型对话时,它到底是怎么“听懂”你的话,又“想”出那些回答的?它不像我们人…...
OffscreenCanvas黑科技:让你的网页动画性能提升300%的配置指南
OffscreenCanvas黑科技:让你的网页动画性能提升300%的配置指南 当网页动画开始卡顿,用户的体验就会直线下降。传统Canvas渲染在主线程执行,复杂的图形运算很容易阻塞UI响应。OffscreenCanvas的出现彻底改变了这一局面——它允许你将绘制逻辑转…...
Calypso vs PC-DMIS:三坐标两大软件脱机编程实战对比与选型指南
Calypso vs PC-DMIS:三坐标测量软件脱机编程深度对比与实战选型策略 在精密制造领域,三坐标测量机(CMM)的脱机编程能力直接决定了检测效率与资源利用率。作为行业两大标杆,蔡司Calypso与海克斯康PC-DMIS在用户界面设计、编程逻辑、仿真验证等…...
Python与OPC UA实战:高效读写PLC数据
1. 为什么选择Python操作OPC UA? 在工业自动化领域,PLC(可编程逻辑控制器)就像工厂的"大脑",而OPC UA则是让这个大脑与其他系统对话的"普通话"。作为Python开发者,我们经常需要从PLC读…...
终极指南:NanoVG渲染管线深度解析与抗锯齿技术实战
终极指南:NanoVG渲染管线深度解析与抗锯齿技术实战 【免费下载链接】nanovg Antialiased 2D vector drawing library on top of OpenGL for UI and visualizations. 项目地址: https://gitcode.com/gh_mirrors/na/nanovg NanoVG是一款基于OpenGL的轻量级抗锯…...
【读书笔记】《在远远的背后带领》
《在远远的背后带领》书话整理书名由来 "在远远的背后带领"这个书名,源于作者对十余年养育实践的回顾与思考。她发现,父母养育孩子容易走两个极端: 过度控制:强迫孩子按照自己的想法行事,结果双方俱疲&#…...
深入解析Android系统分区:从启动到恢复的完整指南
1. Android系统分区基础认知 当你第一次拆解Android系统时,可能会被各种分区名称搞得晕头转向。其实这些分区就像我们电脑里的C盘、D盘一样,各自承担着不同的职责。我刚开始接触时也犯过糊涂,直到有次刷机把boot分区刷坏,手机直接…...
苏州沃虎电子(VOOHU)10/100M集成式RJ45连接器SYT111B002BA2A1D产品介绍
苏州沃虎电子科技有限公司(品牌:VOOHU)供应的 SYT111B002BA2A1D 是一款高可靠性集成式RJ45连接器,专为10/100M以太网应用设计。该产品采用90侧插DIP封装,内置网络变压器,具备工业级宽温工作能力和优异的信号…...
避开原子操作坑!Keil AC5移植LwRB 3.0.0的保姆级避坑指南
避开原子操作坑!Keil AC5移植LwRB 3.0.0的保姆级避坑指南 在嵌入式开发中,环形缓冲区(Ring Buffer)是一种常见的数据结构,广泛应用于串口通信、DMA传输等场景。LwRB(Lightweight Ring Buffer)作…...
告别版本冲突:利用快马平台高效管理多jdk环境,提升开发效率
作为一名Java开发者,我经常遇到这样的困扰:接手不同项目时,每个项目可能要求使用不同版本的JDK。手动切换环境变量、反复安装卸载JDK版本,不仅浪费时间,还容易出错。最近我发现了一个高效的解决方案——利用InsCode(快…...
