Netperf网络测试

Netperf网络测试

  • Netperf简介
  • 安装Netperf
    • Centos7安装Netperf
    • Windows安装Netperf
  • 批量网络流量性能测试
    • 启动netserver服务端
  • 查看netperf帮助
    • 查看netper参数
    • 查看netserver参数
  • TCP_STREAM测试
    • 启动netserver服务端
    • 客户端
  • UDP_STREAM测试
    • 启动netserver服务端
    • 客户端
  • 测试请求/应答网络流量测试
    • TCP_RR(TCP 请求-回复)
    • TCP_CRR(TCP 连接-请求-回复)
    • UDP_RR(UDP 请求-回复)
  • TCP_RR、TCP_CRR 和 UDP_RR 的比较:

Netperf简介

Netperf 基于C/S模式,需要在测试源端运行netsever,而本地运行netperf进行连接并测试。
Netperf支持多种常见的网络测试模式,包括TCP_STREAM、UDP_STREAM、TCP_MAERTS和UDP_RR等。用户可以使用Netperf来测试本地和远程网络的性能,以评估网络基础设施的性能和可靠性。
Netperf项目地址:https://github.com/HewlettPackard/netperf


安装Netperf


Centos7安装Netperf

# Centos7安装Netperf
yum install -y http://repo.iotti.biz/CentOS/7/x86_64/netperf-2.7.0-1.el7.lux.x86_64.rpm

Windows安装Netperf

压缩包解压后有2个文件,netperf.exe和netserver.exe

3、在远端的电脑运行netserver.exe

4、本端电脑输入如下指令,即可得到两端的传输带宽及速率。

E:\netperf>netperf -H 192.168.1.12 (远端电脑IP地址)
TCP STREAM TEST to 192.168.3.18
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec

批量网络流量性能测试

原文链接:https://blog.csdn.net/qq_41596356/article/details/130454561
根据使用传输协议的不同,批量数据传输又分为TCP批量传输和UDP批量传输。

启动netserver服务端

# 服务端启动服务
netserver

image.png
默认情况下 netserver 开启端口号为 12865,可以通过以下命令指定服务端口(如果服务端指定端口,则客户端也需要指定服务器端口)

## -D 前台启动,不以后台守护进程模式启动
## -p 指定侦听端口
netserver -D -p 4659

image.png

查看netperf帮助

查看netper参数

# 查看netper帮助
netperf -h
选项描述
-a send,recv设置本地发送、接收缓冲区对齐
-A send,recv设置远程发送、接收缓冲区对齐
-B brandstr指定简短输出时要发出的字符串
-c [cpu_rate]报告本地 CPU 使用情况
-C [cpu_rate]报告远程 CPU 使用情况
-d增加调试输出
-D time,[units]至少每个时间间隔显示一次中间结果,使用单位作为秒数的初始猜测。时间的负值会大量使用系统的时间戳功能
-f G|M|K|g|m|k-f G|M|K|g|m|k 设置输出单位
-F lfill[,rfill]使用指定文件的数据预填充缓冲区
-H name|ip,fam指定目标机器和/或本地 ip 及家族
-i max,min指定最大和最小迭代次数 (15,1)
-I lvl[,intvl]指定置信水平(95 或 99)和置信区间的百分比(10)
-j保留额外的时间统计数据
-l testlen指定测试持续时间 (>0 秒) (<0 字节
-L name|ip,fam指定本地 ip
-o send,recv设置本地发送、接收缓冲区偏移
-O send,recv设置远程发送、接收缓冲区偏移
-n numcpu设置 CPU 利用率的处理器数量
-N不建立控制连接,只做 ‘发送’ 方面的工作
-p port,lport指定 netserver 端口号和/或本地端口
-P 0|1不/显示测试标题
-r允许只基于结果达到置信水平
-s seconds测试设置与测试开始之间等待秒数
-S在数据连接上设置 SO_KEEPALIVE
-t testname指定要执行的测试
-T lcpu,rcpu请求 netperf/netserver 绑定到本地/远端 cpu
-v verbosity指定详细度级别
-W send,recv设置发送、接收缓冲区的数量
-v level设置详细度级别(默认1,最小0)
-V显示 netperf 版本并退出
-y local,remote设置套接字优先级
-Y local,remote设置 IP_TOS。使用十六进制。
-Z passphrase设置并传递到 netserver 一个密语

查看netserver参数

netserver -h
参数解释
-h显示帮助
-D不以后台守护进程模式启动
-d增加调试输出
-f不为每个测试生成子进程,顺序运行
-L name,family使用name来选择监听地址,并且为family指定家族
-N即使netperf请求,也不显示调试输出
-p portnum在 portnum 端口上监听连接请求
-4使用 IPv4
-6使用 IPv6
-v verbosity指定详细度级别
-V显示版本信息并退出
-Z passphrase期望作为首个接收到的内容是密语

TCP_STREAM测试

Netperf缺省情况下进行TCP批量传输,即-t TCP_STREAM,用来测试进行TCP批量传输时的网络性能。
测试过程中,netperf向netserver发送批量的TCP数据分组,以确定数据传输过程中的吞吐量。

启动netserver服务端

## -D 前台启动,不以后台守护进程模式启动
## -p 指定侦听端口
netserver -D -p 4659

客户端

# 对IP地址192.168.159.131的4659端口上运行的netserver发起一个持续5秒的TCP吞吐量测试
## -t TCP_STREAM:指定要执行的测试类型为 TCP_STREAM,这是 netperf 中一个常见的测试,用于测量 TCP 连接的最大吞吐量。
## -H 192.168.159.131:指定目标机器的IP地址为 192.168.159.131
##-l 5:指定测试的持续时间为 5 秒 之后自动停止并报告结果。
## -p 4659:指定 netperf 服务端的端口号为 4659
netperf -t TCP_STREAM -H 192.168.159.131 -l 5 -p 4659

image.png

UDP_STREAM测试

UDP_STREAM用来测试进行UDP批量传输时的网络性能。
测试UDP的网络性能时,测试分组的大小不得大于socket的发送与接收缓冲大小,否则netperf会报出错提示。

启动netserver服务端

## -D 前台启动,不以后台守护进程模式启动
## -p 指定侦听端口
netserver -D -p 4659

客户端

# 对IP地址192.168.159.131的4659端口上运行的netserver发起一个持续5秒的UDP吞吐量测试
## -t UDP_STREAM:指定要执行的测试类型为 UDP_STREAM,这是 netperf 中一个常见的测试,用于测量 UDP 连接的最大吞吐量。
## -H 192.168.159.131:指定目标机器的IP地址为 192.168.159.131
## -l 5:指定测试的持续时间为 5 秒 之后自动停止并报告结果。
## -p 4659:指定 netperf 服务端的端口号为 4659
netperf -t UDP_STREAM -H 192.168.159.131 -l 5 -p 4659

image.png

测试请求/应答网络流量测试

TCP_RR(TCP 请求-回复)

TCP_RR 是 netperf 工具中的一种测试类型,用于评估 TCP 连接的 请求-回复 性能。它模拟客户端-服务器交互,其中客户端向服务器发送请求并等待响应。
工作原理:
TCP_RR 方式的测试对象是多次 TCP request 和 response 的交易过程,但是它们发生在同一个 TCP 连接中,这种模式常常出现在数据库应用中。数据库的 client 程序与 server 程序建立一个 TCP 连接以后,就在这个连接中传送数据库的多次交易过程。

  1. 建立连接: netperf 与指定的服务器(使用 -H 参数指定)和端口(使用 -p 参数指定,默认 12865)建立 TCP 连接。
  2. 发送请求: netperf 向服务器发送一系列包含请求数据的 TCP 数据包。
  3. 接收响应: netperf 等待并接收来自服务器包含响应数据的 TCP 数据包。
  4. 测量性能: netperf 测量每个请求-回复周期的耗时,计算吞吐量、延迟和事务速率等指标。

性能指标:

  • 吞吐量: 测试期间成功传输的数据量(通常以每秒比特数或字节数表示)。
  • 延迟: 从发送请求到收到响应所花费的时间(通常以毫秒或微秒表示)。
  • 事务速率: 测试期间完成的请求-回复周期的数量(通常以每秒事务数表示)。

应用场景:
TCP_RR 适用于评估面向事务的 TCP 应用的性能,例如:

  • 数据库服务器连接
  • 远程过程调用 (RPC)
  • 基于 HTTP 1.0 的 web 服务器访问

5秒内TCP_RR数据

## -t TCP_RR: 指定测试类型为 TCP 请求-回复 (Request-Reply)。
### 在这种模式下,netperf 将模拟客户端发送请求到服务器,然后等待服务器的回复。
## -H 192.168.159.131:指定目标机器的IP地址为 192.168.159.131
## -l 5:指定测试的持续时间为 5 秒 之后自动停止并报告结果。
netperf -t TCP_RR -H 192.168.159.131 -l 5

image.png
可使用-- -r ,更改请求和相应大小

TCP_CRR(TCP 连接-请求-回复)

TCP_CRR 是 netperf 中的另一种测试类型,也用于评估 TCP 连接的请求-回复性能。但是,它与 TCP_RR 在测量性能的方式上有所不同。
工作原理:

  1. 建立连接: 与 TCP_RR 一样,netperf 与指定的服务器和端口建立 TCP 连接。
  2. 请求-回复周期: 类似于 TCP_RR,netperf 向服务器发送请求包并等待响应包。
  3. 性能测量: 与 TCP_RR 不同,TCP_CRR 在发送下一个请求之前 不等待响应。相反,它测量 整个请求-回复周期的耗时,包括连接建立

性能指标:

  • 事务速率: 测试期间完成的请求-回复周期的数量,包括连接建立(通常以每秒事务数表示)。
  • 平均连接时间: 在发送请求之前建立 TCP 连接所需的平均时间(通常以毫秒或微秒表示)。
  • 平均请求-响应时间: 发送请求、接收响应和关闭连接所需的平均时间(通常以毫秒或微秒表示)。

应用场景:
TCP_CRR 对于评估频繁打开和关闭 TCP 连接的应用程序的性能特别有用,例如:

  • 进行多个 HTTP 请求的 web 浏览器
  • 从服务器获取消息的电子邮件客户端
  • 发送和接收消息的即时通讯应用程序

5秒内TCP_CRR数据

## -t TCP_CRR: 指定测试类型为 TCP 连接-请求-回复
## -H 192.168.159.131:指定目标机器的IP地址为 192.168.159.131
## -l 5:指定测试的持续时间为 5 秒 之后自动停止并报告结果。
netperf -t TCP_CRR -H 192.168.159.131 -l 5

image.png
可使用-- -r ,更改请求和相应大小

UDP_RR(UDP 请求-回复)

UDP_RR 是 netperf 中的一种测试类型,用于评估 UDP 连接的 请求-回复 性能。与 TCP 不同,UDP 是一种无连接协议,这意味着它在发送数据之前无需建立连接。
工作原理:

  1. 发送请求: netperf 向指定的服务器和端口(使用 -H 和 -p 参数)发送一系列包含请求数据的 UDP 数据包。
  2. 无保证的响应: 由于 UDP 是无连接的,因此无法保证从服务器收到响应。netperf 无法像在 TCP_RR 或 TCP_CRR 中那样等待响应。
  3. 性能测量: netperf 测量 UDP 数据包的 发送速率丢包率

性能指标:

  • 发送速率: 测试期间成功发送的 UDP 数据包数量(通常以每秒数据包数表示)。
  • 丢包率: 未成功送达服务器的 UDP 数据包百分比(通常以百分比表示)。

应用场景:
UDP_RR 适用于评估可以容忍一些丢包的 UDP 应用的性能,例如:

  • 实时音/视频通信(丢包会影响质量,但可以容忍一些丢包)
  • 简单日志传输(丢包可能会导致一些日志消息丢失,但整体功能不受影响)
## -t -t TCP_RR: 指定测试类型为 (UDP 请求-回复)
## -H 192.168.159.131:指定目标机器的IP地址为 192.168.159.131
## -l 5:指定测试的持续时间为 5 秒 之后自动停止并报告结果。
netperf -t UDP_RR -H 192.168.159.131 -l 5

image.png
可使用-- -r ,更改请求和相应大小

netperf -t UDP_RR -H 192.168.159.131 -l 5 -- -r 128,8192

image.png

TCP_RR、TCP_CRR 和 UDP_RR 的比较:

特性TCP_RRTCP_CRRUDP_RR
连接建立 TCP 连接建立 TCP 连接无连接(不建立连接)
请求-回复周期等待响应后再发送下一个请求不等待响应,测量整个请求-回复周期无法保证收到响应,测量发送速率和丢包率
性能指标吞吐量、延迟、事务速率事务速率、平均连接时间、平均请求-响应时间发送速率、丢包率
应用场景面向事务的 TCP 应用频繁打开/关闭 TCP 连接的应用可以容忍丢包的 UDP 应用

总结:

  • TCP_RR 适用于评估需要可靠、有序数据传输的 TCP 应用的性能。
  • TCP_CRR 适用于评估需要快速建立连接和完成请求-回复周期的 TCP 应用的性能。
  • UDP_RR 适用于评估可以容忍丢包的 UDP 应用的性能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/580580.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Python】Python语言基础

1、运用python的输入输出函数 2、运行python的条件表达式 3、练习导入库函数并使用 1、运用输入输出函数编写程序&#xff0c;将华氏温度转换成摄氏温度。换算公式&#xff1a;C(F-32)*5/9,其中C为摄氏温度&#xff0c;F为华氏温度。 &#xff08;1&#xff09;源代码&#…

心理学上有个概念叫:习惯性反驳(附上解决办法)

在心理学上&#xff0c;有一个词&#xff0c;叫做习惯性反驳。 什么意思呢&#xff1f; 就是不管你说什么&#xff0c;他都要反驳你&#xff0c;最后把你带入负面的情绪黑洞&#xff0c;搞得你非常崩溃。 一个总是习惯性反驳的人&#xff0c;其实是非常可怕的。 习惯性反驳的3个…

.net EntityFramework EF

创建EF 方法1 方法二 安装的 版本是 中间没有弹出让选框架的界面&#xff0c; EF三种开发方式 1》》 db first 先设计数据库→然后在代码通过EF与数据库建立映射关系&#xff0c;是EF最早的一种使用方式,使用广泛.以数据库为驱动&#xff0c;生成实体模型&#xff0c;从而驱…

喀秋莎Camtasia2023中文破解Crack下载附安装教程 2023免费补丁百度云 电脑版注册机提取

Camtasia2023破解版是一款备受好评的电脑录屏软件&#xff0c;主要用于教授课程&#xff0c;培训他人&#xff0c;以及进行沟通和屏幕分享。内置视频编辑器支持拖放文本&#xff0c;提供了强大的屏幕录像、视频的剪辑和编辑、视频菜单制作、视频剧场和视频播放功能等&#xff0…

C#实现 IDbConnection / IDbCommand 等相关通用数据接口

目录 关于数据接口 对象执行流程 范例运行环境 设计与实现 引用 GetConnection方法 GetCommand方法 GetParameter方法 小结 关于数据接口 在.net 应用中&#xff0c;与数据库进行连接、访问和执行经常会用到数据接口的相关对象&#xff0c;如下&#xff1a; 1、 Con…

【深度学习实战(26)】标签处理之语义分割标签转换,数据集划分

一、标签转换 我们在使用labeme标签工具&#xff0c;标注完数据后会获得json文件。在标注结束过后&#xff0c;我们需要通过标签转换操作&#xff0c;生成jpg格式原始图片和png格式mask标签图。 1.1 使用img_b64_to_arr将json标签中二进制图像数据变成numpy格式数据&#xf…

场外个股期权是什么

场外个股期权是什么 场外个股期权是指在沪深交易所之外交易的个股期权&#xff0c;其本质是一种金融衍生品&#xff0c;允许投资者在股票交易场所外以特定价格买进或卖出证券。这种权利与股价变动情况紧密相关&#xff0c;使得投资者能够根据股价的变动情况对公司进行投票决定…

docker中的资源控制

前言 docker 使用cgrqup控制资源&#xff0c;K8S 里面也有limit&#xff08;使用上限&#xff09; docker通过cgroup来控制容器使用的资源配额&#xff0c;包括CPU、内存、磁盘三大方面&#xff0c;基本覆盖了常见的资源配额和使用量控制。 Cgroup 是 Control …

想要应聘前端工程师——学习路线指南

前端工程师学习路线 按照前端岗位需求,以优先学习工作更需要,面试更常考的内容为原则,由浅入深,层层铺垫,与时俱进,可以较容易地总结出前端学习路线图: HTML / CSS / JavaScript 基础学习 《Web 入门》 MDN 权威入门指南,HTML / CSS / JavaScript 快速上手 《CSS 世界…

安装库后JupyterLab一直报ModuleNotFoundError问题解决

背景&#xff1a; 先安装的Python3.10&#xff0c;安装在默认路径&#xff1a; C:\Users\#用户名省略#\AppData\Local\Programs\Python\Python310\ 后安装的Anaconda&#xff0c;更改过路径在D盘&#xff1a; D:\ProgramData\anaconda3 此时C盘Python安装路径下Scripts文件…

通过阿里云OOS实现定时备份redis实例转储到OSS

功能背景 随着企业业务数据的快速增长&#xff0c;Redis 作为高性能的内存数据存储方案&#xff0c;在多种应用场景下承担着重要的角色。为确保数据安全&#xff0c;定时备份成为了不可或缺的一环。Redis 实例定时备份是关键数据库管理任务的一个重要组成部分&#xff0c;它主…

修改Ubuntu22.04系统图标

在Ubuntu 22.04中更改开机时显示的Ubuntu图标需要修改的设置。 主要思路是用自己图片替换系统图片&#xff0c;保持系统图片同名&#xff0c;同格式。 以下是一般的步骤&#xff1a; 修改启动界面的logo&#xff1a; sudo cp 新logo.png /usr/share/plymouth/themes/spinn…

【mysql】mysql命令使用大全,你想要的都在这里

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

21物联1班作业DES分组密码

DES加密 &#xff01;&#xff01;&#xff01;以下加密自己学号姓名 将密钥zw改为abcde 学号加密 密钥为zw 密钥为abcde DES解密 &#xff01;&#xff01;&#xff01;将desdecode中内容替换成DES加密密文。 学号解密 代码解释 加密代码 问我QQ上要 解密代码 问我QQ上…

【一般排查思路】针对银河麒麟高级服务器操作系统磁盘空间已满

1. 本身磁盘空间已满 有时候我们会看到服务器上有提示“设备上没有空间”&#xff0c;如图1。 图 1 如果是磁盘本身空间已满&#xff0c;我们可以借助du工具来排查&#xff0c;比如首先cd / 切换到根目录&#xff0c;然后 du -sh * | sort -rh | head -n 3查看空间占用最大的…

ardupilot开发 --- RealSense-D400 篇

目录 0. 一些概念1. 用windows检查设备是否正常1. 使用 Intel RealSense SDK 2.0 查看相机图像数据 0. 一些概念 官网&#xff1a;添加链接描述选型&#xff1a;D455 1. 用windows检查设备是否正常 用USB连接D455与PC 下载 Intel.RealSense.Viewer.exe 并打开&#xff0c;设…

无监督学习的评价指标

轮廓系数&#xff08;Silhouette Coefficient&#xff09; 轮廓系数用于判断聚类结果的紧密度和分离度。轮廓系数综合了样本与其所属簇内的相似度以及最近的其他簇间的不相似度。 其计算方法如下&#xff1a; 1、计算簇中的每个样本i 1.计算a&#xff08;i&#xff09; &#x…

使用Canal实现MySQL主从同步

说明&#xff1a;本文介绍如何使用Canal实现MySQL主从同步的效果&#xff0c;关于Canal入门使用参考&#xff1a;Canal入门使用 启动Canal 首先&#xff0c;设置Canal服务器里&#xff0c;目标节点&#xff08;即监测的MySQL节点&#xff09;的配置&#xff0c;启动Canal服务…

多目标果蝇算法及其MATLAB实现

果蝇算法最早的文献是由台湾华夏科技大学的潘文超教授于2011年提出来的。该算法是基于果蝇觅食行为的仿生学原理而提出的一种新兴群体智能优化算法&#xff0c;被称为果蝇优化算法(Fruit Fly Optimization Algorithm, FOA)。通过模拟果蝇利用敏锐的嗅觉和视觉进行捕食的过程&am…

APQC是美国生产力与质量中心

APQC简介 APQC是美国生产力与质量中心( American Productivity and Quality Center)的简称。该中心自1991年开始研究开发流程分类框架&#xff08;简称PCF&#xff09;&#xff0c;1992年发布PCF1.0。PCF将运营与管理等流程汇总成12项企业级流程类别&#xff0c;每个流程类别包…