https://blog.51cto.com/dingtongxue1990/1853714
netperf工具使用

一、安装

1,下载

liunx下载地址:ftp://ftp.netperf.org/netperf/

windows版下载地址:ftp://ftp.netperf.org/netperf/misc/

这里我下载版本:netperf-2.6.0.tar.gz

2,安装

[root@localhost home]# tar -zxvf netperf-2.6.0.tar.gz
[root@localhost home]# cd netperf-2.6.0/
[root@localhost netperf-2.6.0]# ./configure
[root@localhost netperf-2.6.0]# make&& make install
[root@localhost ~]# netperf -V
Netperf version 2.6.0

二、netperf介绍

Netperf是一种网络性能的测量工具,可以测试基于TCP或UDP吞吐、响应速率。Netperf包括Clien和Server端。Server端主要用来实现监听工作,Client端进行测试。根据流量传输方式可分为以下三种:

1)单方向最大吞吐传输大量数据。

2)双方向交互传输数据,对于tcp为单连接。

3)针对tcp,每个连接交互传输数据。

三、Netperf服务端

Netperf服务端使用命令为netserver。netserver默认监听端口为12865。netserver可选项较少,常用-p指定监听端口。-h可以查看可选项。

1,启动服务器

[root@localhost ~]# netserver
Starting netserver with host'IN(6)ADDR_ANY' port '12865' and family AF_UNSPEC

2,指定监听端口

[root@localhost tmp]# netserver -p 1180
Starting netserver with host'IN(6)ADDR_ANY' port '1180' and family AF_UNSPEC
 

四、netperf客户端

Netperf客户端使用命令就是netperf。netperf使用语法:

netperf <全局选项> -- <特指选项>

这里举例介绍几种常见使用场景来演示netperf使用:

1,测试tcp吞吐

[root@localhost ~]# netperf -t TCP_STREAM -H 192.168.0.221 -l 10 -P 1180
MIGRATED TCP STREAM TEST from 0.0.0.0(0.0.0.0) port 0 AF_INET to 192.168.0.221 () port 0 AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec 87380 16384 16384 10.00 4586.58

测试结果:吞吐为4.5G/s。

-t: 指定进行的测试类型,包括TCP_STREAM,UDP_STREAM,TCP_RR,TCP_CRR,UDP_RR。可以省略,省略即为TCP_STEAM。

-H:指定远程主机,即netserver服务器地址。

-l: 指定时间。

-p:指定netserver监听端口,可以省略,省略即为默认端口12865。

2,测试UDP吞吐

[root@localhost ~]# netperf -t UDP_STREAM -H 192.168.0.221 -l 10
MIGRATED UDP STREAM TEST from 0.0.0.0(0.0.0.0) port 0 AF_INET to 192.168.0.221 () port 0 AF_INET
Socket Message Elapsed Messages
Size Size Time Okay Errors Throughput
bytes bytes secs # # 10^6bits/sec 212992 65507 10.00 78233 0 4099.59
212992 10.00 74263 3891.55
 

测试结果:

第一行表示本地吞吐4.0G/s,第二行表示接收端吞吐只有3.8G/s。

3,测试tcp交互响应速率,类似http长连接或客户端对数据库服务器读取存储

[root@localhost ~]# netperf -t TCP_RR -H 192.168.0.221 -l 10 -- -r 256,2048
MIGRATED TCP REQUEST/RESPONSE TEST from0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.0.221 () port 0 AF_INET : firstburst 0
Local /Remote
Socket Size Request Resp. Elapsed Trans.
Send Recv Size Size Time Rate
bytes Bytes bytes bytes secs. per sec 16384 87380 256 2048 10.00 6020.25
16384 87380
 

测试结果:第一行显示:每秒达6k响应。第二行只是显示服务器端信息。

-r:指定客户端发送数据大小和服务器端响应数据大小。例子中客户端每次发送tcp数据256字节,服务器每次回复2048字节。

4,测试udp交互响应速率,与tcp交互类似

[root@localhost ~]# netperf -t UDP_RR -H 192.168.0.221 -l 10 -- -r 256,2048
MIGRATED UDP REQUEST/RESPONSE TEST from0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.0.221 () port 0 AF_INET : firstburst 0
Local /Remote
Socket Size Request Resp. Elapsed Trans.
Send Recv Size Size Time Rate
bytes Bytes bytes bytes secs. per sec 212992 212992 256 2048 10.00 5385.92
212992 212992
 

5,针对tcp,每次交互都重新建立tcp连接,类似http短连接交互过程

[root@localhost ~]# netperf -t TCP_CRR -H 192.168.0.221 -l 10 -- -r 128,1024
MIGRATED TCP Connect/Request/Response TESTfrom 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.0.221 () port 0 AF_INET
Local /Remote
Socket Size Request Resp. Elapsed Trans.
Send Recv Size Size Time Rate
bytes Bytes bytes bytes secs. per sec 16384 87380 128 1024 10.00 2623.44
16384 87380
 
 

测试结果:比没有每次建连接响应速率少一半。

6,其他选项

参数

说明

-s size

设置本地系统的socket发送与接收缓冲大小

-S size

设置远端系统的socket发送与接收缓冲大小

-m size

设置本地系统发送测试分组的大小

-M size

设置远端系统接收测试分组的大小

-D

设置TCP_NODELAY选项

-r req,resp

设置request和reponse分组的大小

官方用户手册:http://www.netperf.org/svn/netperf2/trunk/doc/netperf.pdf

[转帖]性能测试工具netperf安装使用的更多相关文章

  1. linux下性能测试工具netperf使用

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

  2. 性能测试工具 wrk 安装与使用

    介绍 今天给大家介绍一款开源的性能测试工具 wrk,简单易用,没有Load Runner那么复杂,他和 apache benchmark(ab)同属于性能测试工具,但是比 ab 功能更加强大,并且可以 ...

  3. TCP/UDP网络性能测试工具 - Netperf (zz) ..网络测试工具

    在构建或管理一个网络系统时,我们更多的是关心网络的可用性,即网络是否连通,而对于其整体的性能往往考虑不多. 除了netperf以外.       还有很多其它的网络性能测试工具.       如db, ...

  4. 云存储性能测试工具--COSBench安装

    COSBench安装 Cosbench是Intel的开源云存储性能测试软件,COSBench目前已经广泛使用与云存储测试,并作为云存储的基准测试工具使用 1 环境 1.1 操作系统 COSBench可 ...

  5. 002_性能测试工具wrk安装与使用

    介绍 今天给大家介绍一款开源的性能测试工具 wrk,简单易用,没有Load Runner那么复杂,他和 apache benchmark(ab)同属于性能测试工具,但是比 ab 功能更加强大,并且可以 ...

  6. HTTP性能测试工具wrk安装及使用

    wrk 是一个很简单的 http 性能测试工具,没有Load Runner那么复杂,他和 apache benchmark(ab)同属于HTTP性能测试工具,但是比 ab 功能更加强大,并且可以支持l ...

  7. Mysql多线程性能测试工具sysbench 安装、使用和测试

    From:http://www.cnblogs.com/zhoujinyi/archive/2013/04/19/3029134.html 摘要:      sysbench是一个开源的.模块化的.跨 ...

  8. RGW/SWIFT对象存储性能测试工具--COSBench安装

    Cosbench是Intel的开源云存储性能测试软件,COSBench目前已经广泛使用与云存储测试,并作为云存储的基准测试工具使用 https://github.com/intel-cloud/cos ...

  9. Locust性能测试工具的安装及实际应用

    一.安装Locust 安装Locust之前先安装的库:gevent库:第三方库,gevent为python提供了比较完善的协程支持.使用gevent,可以获得极高的并发性能. pip install ...

  10. Python3中性能测试工具Locust安装使用

    Locust安装使用: 安装: python3中           ---> pip3 install locust 验证是否安装成功---> 终端中输入 locust --help  ...

随机推荐

  1. Spring Boot整合Spring Data连接postgreSQL完成简单的CRUD操作

    导入jpa依赖和postgresql依赖: <!-- jpa依赖 --> <dependency> <groupId>org.springframework.boo ...

  2. fstab 简介

    简介 在一般的 Unix 或者 类Unix 中,为了更好地管理磁盘资源,有时不得不挂载一个外部的磁盘,使用 mount 命令可以快速地挂载一个外部磁盘,具体用法为: # 将磁盘分区 sda2 挂载在 ...

  3. 避坑指南:关于SPDK问题分析过程

    [前言] 这是一次充满曲折与反转的问题分析,资料很少,代码很多,经验很少,概念很多,当内核态,用户态,DIF,LBA,大页内存,SGL,RDMA,NVME和SSD一起迎面而来的时候,问题是单点的意外, ...

  4. app上架一直显示审核中状态要怎么处理?

    ​ 当你提交一个应用到App Store上时,它会经历一个审核过程.在这个过程中,苹果的审核人员会检查你的应用是否符合苹果的规定和标准.这个过程通常需要几天的时间,但是如果你的应用一直显示" ...

  5. 火山引擎DataLeap的Catalog系统搜索实践 (二):整体架构

    整体架构 火山引擎DataLeap的Catalog搜索系统使用了开源的搜索引擎Elasticsearch进行基础的文档检索(Recall阶段),因此各种资产元数据会被存放到Elasticsearch中 ...

  6. Solon Aop 特色开发(2)注入或手动获取Bean

    Solon,更小.更快.更自由!本系列专门介绍Solon Aop方面的特色: <Solon Aop 特色开发(1)注入或手动获取配置> <Solon Aop 特色开发(2)注入或手动 ...

  7. MyBatis Mapper.XML 标签使用说明

    直接将值返回给对象 <select id="list" resultType="com.vipsoft.base.entity.UserInfo"> ...

  8. python jira 读取表数据批量新建子任务

    小李在Jira中处理任务时,发现一个表格数据很有趣.他决定为每一行数据创建一个新的子任务.他复制粘贴,忙得不亦乐乎.同事小张路过,好奇地问:"你在做什么?"小李得意地回答:&quo ...

  9. 协同导航定位技术:为GPS定位盲区而生

    导航技术和我们的生活息息相关.行人导航系统是一种为行人提供导航服务的便携式设备,可以适应地下.矿洞等卫星信号拒止的地区,以及大商场等拓扑结构复杂的地区,通常基于MIMU实现,本质上是惯性导航系统的一种 ...

  10. mit6.s081 lab1:Unix Utilities

    1 sleep(easy) 要求:为 xv6实现 UNIX 程序睡眠; 睡眠需要暂停一段用户指定的时间.刻度是由 xv6内核定义的时间概念,即定时器芯片两次中断之间的时间.解决的程序应该在 user/ ...