网络传输性能netperf测试方法和下载

2023-05-16

简介

Netperf是一种网络性能的测试工具,主要针对基于TCP或UDP的传输。Netperf根据应用的不同,可以进行不同模式的网络性能测试,即批量数据传输(bulk data transfer)模式和请求/应答(request/reponse)模式。

Netperf工具以client/server方式工作。server端是netserver,用来侦听来自client端的连接,client端是netperf,用来向server发起网络测试。在client与server之间,首先建立一个控制连接,传递有关测试配置的信息,以及测试的结果;在控制连接建立并传递了测试配置信息以后,client与server之间会再建立一个测试连接,用来来回传递着特殊的流量模式,以测试网络的性能。

Netperf测试结果所反映的是一个系统能够以多快的速度向另外一个系统发送数据,以及另外一个系统能够以多快的速度接收数据。

netperf-2.7.0百度网盘下载地址(赠送简易脚本,可自行改编)
链接:https://pan.baidu.com/s/1TRaGeVufhiqYy6uftrXdHg?pwd=uap7
提取码:uap7

测试方法

1.准备两台测试机A(sut)和B(client),分别解压测试工具包netperf.tar.gz,并切换到目录netperf

unzip netperf-2.7.0.zip
cd netperf-2.7.0/

2.arm配置:./configure -build=alpha
x86、龙芯配置:./configure

3.编译:make

4.安装:make install

5.在机器A上执行netserver命令启动监听服务
在这里插入图片描述
在机器B上执行如下命令:

netperf -H sut_ip -t TCP_STREAM -l 60 > netperf.txt
netperf -H sut_ip -t UDP_STREAM -l 60 >> netperf.txt
netperf -H sut_ip -t TCP_RR -l 60 >> netperf.txt
netperf -H sut_ip -t UDP_RR -l 60 >> netperf.txt
netperf -H sut_ip -t TCP_CRR -l 60 >> netperf.txt

6.打开netperf.txt查看结果

cat netperf.txt

常用的命令行参数解析

-H:指定远端运行netserver的server IP地址;
-l: 指定测试的时间长度(秒);
-t: 指定测试类型,包括TCP_STREAM,UDP_STREAM,TCP_RR,TCP_CRR,UDP_RR。

评判标准:
成功启动netserver服务,TCP_STREAM和UDP_STREAM的Throughput不能低于传输速率的90%,丢包率不能大于1%,Trans.Rate越大越好。

结果分析

在这里插入图片描述
1. TCP STREAM
1) 远端系统(即server)使用大小为87380字节的socket接收缓冲
2) 本地系统(即client)使用大小为16384字节的socket发送缓冲
3) 向远端系统发送的测试分组大小为16384字节
4) 测试经历的时间为60.03秒
5) 吞吐量的测试结果为941.47Mbits/秒

2. UDP_STREAM
UDP_STREAM方式的结果中有两行测试数据,第一行显示的是本地系统的发送统计,这里的吞吐量表示netperf向本地socket发送分组的能力。第二行显示的就是远端系统接收的情况。

3. TCP_RR
TCP_RR方式的测试对象是多次TCP request和response的交易过程,但是它们发生在同一个TCP连接中,这种模式常常出现在数据库应用中。数据库的client程序与server程序建立一个TCP连接以后,就在这个连接中传送数据库的多次交易过程。
Netperf输出的结果也是由两行组成。第一行显示本地系统的情况,第二行显示的是远端系统的信息。平均的交易率(transaction rate)为3094.64次/秒。注意到这里每次交易中的request和response分组的大小都为1个字节,不具有很大的实际意义。用户可以通过测试相关的参数来改变request和response分组的大小,TCP_RR方式下的参数如下表所示:
参数说明:
-r req,resp 设置request和reponse分组的大小
-s size 设置本地系统的socket发送与接收缓冲大小
-S size 设置远端系统的socket发送与接收缓冲大小
-D 对本地与远端系统的socket设置TCP_NODELAY选项

4. UDP_RR
UDP_RR方式使用UDP分组进行request/response的交易过程。没有TCP连接所带来的负担。
可能会受到网络中路由器或其它的网络设备对UDP采用了与TCP不同的缓冲区空间和处理技术影响,正常情况下会高于TCP_RR的值。本次测试结果为3136.53次/秒。

5. TCP_CRR
与TCP_RR不同,TCP_CRR为每次交易建立一个新的TCP连接。最典型的应用就是HTTP,每次HTTP交易是在一条单独的TCP连接中进行的。因此,由于需要不停地建立新的TCP连接,并且在交易结束后拆除TCP连接,交易率一定会受到很大的影响。

这里交易率明显的降低了,只有1422.23次/秒。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

网络传输性能netperf测试方法和下载 的相关文章

随机推荐

  • static 修饰的全局变量具有内部链接的一个例子

    很久不能明白这个事情 xff0c 下面自己来举个例子吧 xff1a 文件1 c include lt stdio h gt extern int s int main printf 34 d n 34 s return 0 文件2 c in
  • CentOS6 虚拟机管理工具 virt-manager 在Xmanager键位混乱问题

    平时一直在Linux下面管理虚拟机 xff0c 没有啥问题 xff0c 今天由于工作需要 xff0c 在Xmanager中进行虚拟机管理 xff0c 发现virt manager管理工具中虚拟机控制台登录键盘映射错乱 xff0c 经研究发现
  • 在Jdeveloper 11gR2中传递url参数到由task flow构成的区中

    1 建立环境 新建fusion web application gt PassVar 在默认任务流 adf config xml里面创建view welcome和相应的jsf页面 新建bounded任务流passVar xml 在任务栏中添
  • Oracle ADF控件屏幕居中

    在某些情况下 xff0c 比如登录窗口 xff0c 我们希望能位于屏幕正中央 在ADF中通过下面步骤实现 1 新建fusion web application gt CenterItem 在默认任务流 adf config xml里面创建v
  • 顺序表的创建与使用

    顺序表的创建与使用 这里还定义了一个数据类型的宏 xff0c TYPE 首先需要设计数据结构 xff0c 这里设计了两个成员 xff1a 数组首地址和元素个数 然后是进行各种业务功能的分函数 xff1a 创建顺序表 销毁顺序表 访问顺序表中
  • 顺序栈的创建与使用

    顺序栈的创建与使用 首先是各种函数的头文件声明 这里还另外定义了一个数据类型的宏 xff0c int类型数据暂时用作TYPE替换 xff0c 也可以替换成其他类型数据 然后是设计数据结构体 xff0c 这里定义了三个成员变量 其次是实现各项
  • 利用C++模板封装链表

    利用C 43 43 实现链表模板类 include lt iostream gt include lt stdlib h gt using namespace std template lt typename T gt class Node
  • 利用套接字创建本地socket文件完成本地进程间通信

    利用套接字创建socket文件完成本地两个进程之间的通信 xff0c 这里分为进程A和进程B 进程A 头文件 进程A里面首先是各种头文件 xff1a 1 include lt stdio h gt 2 include lt stdlib h
  • C++在字符串中搜索特定的字符

    C 43 43 在字符串中搜索特定的字符 在字符串中搜索特定字符是指在字符串中寻找是否存在指定的字符或字符集 include lt iostream gt int main int argc const char argv std stri
  • C++中在字符串中提取子字符串

    C 43 43 中在字符串中提取子字符串 从字符串中提取子字符串是指将一个字符串中的一部分截取下来形成一个新的字符串 include lt iostream gt int main int argc const char argv std
  • C++中如何访问字符串中的单个字符

    访问字符串中的单个字符 访问字符串中的单个字符是像字符数组那样使用下标访问字符串中的某个元素 include lt iostream gt int main int argc const char argv std string str1
  • c中有时候一个名字具有块作用域但是有外部链接的一个例子

    文件1 c include lt stdio h gt void f void s具有块作用域 xff0c 但是具有外部链接 extern int s printf 34 d n 34 s int main f return 0 文件2 c
  • Javascript Map 对象使用说明

    Map 是 ES6 中引入的一种新的数据结构 xff0c 对象保存键值对 任何值 对象或者原始值 都可以作为一个键或一个值 以前用的JS对象 Object也是可以把其属性看作键来定位数据 xff0c 但 Map 和 Object 是有区别的
  • 如何将Mac备份到外置硬盘?

    Apple爱好者喜欢该其设备的时尚设计和简单的用户界面 然而 xff0c 设置Mac的备份可能会令人沮丧 xff0c 因为大多数外部硬盘驱动器在使用之前必须进行格式化 然而 xff0c 如果了解如何将Mac备份到外部硬盘驱动器后 xff0c
  • C++中字符串的交换与复制

    字符串的交换是指将两个字符串的内容互相交换 字符串复制是指生成一个新的字符串其内容为原有字符串的内容 include lt iostream gt int main std string str1 61 34 Hello 34 std st
  • Kali2022安装Docker和Docker-compose以及更改国内镜像源

    装之前可以选择更新一下软件库 root kali apt update 安装docker root kali apt install docker io root kali docker version 查看Docker版本 root ka
  • Mac系统配置php环境

    写在前面 叨叨叨 急着配环境的同志们可以绕道 最近学校的实验室里接了一个小项目 考勤刷卡系统 xff0c 利用RFID在硬件层获取学生卡的ID xff0c 通过wifi传输至服务器 xff0c 进行考勤信息存储 xff0c 手机端获取服务器
  • 病毒变种--C语言练习

    病毒变种 病毒DNA可以表示成由一些字母组成的字符串序列 xff0c 且病毒的DNA序列是环状的 例如 xff0c 假设病毒的DNA序列为baa xff0c 则该病毒的DNA序列有三种变种 xff1a baa aab aba 试编写一程序
  • http、https 等 常用默认端口号

    HTTP协议代理服务器常用端口号 xff1a 80 8080 3128 8081 9080 SOCKS代理协议服务器常用端口号 xff1a 1080 FTP xff08 文件传输 xff09 协议代理服务器常用端口号 xff1a 21 Te
  • 网络传输性能netperf测试方法和下载

    简介 Netperf是一种网络性能的测试工具 xff0c 主要针对基于TCP或UDP的传输 Netperf根据应用的不同 xff0c 可以进行不同模式的网络性能测试 xff0c 即批量数据传输 xff08 bulk data transfe