[转帖]netperf - 网络测试工具

netperf,网络,测试工具 · 浏览次数 : 0

小编点评

**1. 概述** Netperf是一种网络性能测试工具,主要针对基于TCP或UDP的传输。它根据应用的不同,可以进行不同模式的网络性能测试,即批量数据传输(bulk data transfer)模式和请求/应答(request/reponse)模式。 **2. 安装** 1. 下载 ( http://www.netperf.org) 获取 netperf-2.5.0.tar.bz2源码包。 2. 安装 [root@RedHat netperf-2.5.0]# tar -jxvf netperf-2.5.0.tar.bz2[root@RedHat netperf-2.5.0]# make[root@RedHat netperf-2.5.0]#make install **3. 使用方法** 1. 在服务器运行 (root@RedHat netperf-2.5.0]# netserver 2. 在客户端运行 (root@RedHat netperf-2.5.0]#netperf-H host -l testlen -t testname **4. 网络性能介绍** **4.1 TCP网络性能** 由于 TCP协议能够提供端到端的可靠传输,因此被大量的网络应用程序使用。但是,可靠性的建立是要付出代价的。TCP协议保证可靠性的措施,如建立并维护连接、控制数据有序的传递等都会消耗一定的网络带宽。 **4.2 UDP网络性能** 与 TCP 相比,UDP传输的不可靠性,因此使用UDP的应用程序需要自行跟踪每个发出的分组,并重发丢失的分组。由于 UDP传输的不可靠性,在使用netperf时要确保发送的缓冲区大小不大于接收缓冲区大小,否则数据会丢失,netperf将给出错误的结果。因此,对于接收到分组的统计不一定准确,需要结合发送分组的统计综合得出结论。 **5. 测试案例** 服务器端执行 (root@RedHat netperf-2.5.0]# netserver 客户端运行 (root@RedHat netperf-2.5.0)# netperf -H 192.168.56.102 -l 60MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.56.102 (192.168.56.102) port 0 AF_INETRecv 从netperf的结果输出中,我们可以知道以下的一些信息: 1. 远端系统(即server)使用大小为87380字节的socket接收缓冲。 2. 本地系统(即client)使用大小为16384字节的socket发送缓冲。 3. 向远端系统发送的测试分组大小为16384字节。 4. 测试经历的时间为60秒。 5. 吞吐量的测试结果为248.26*10^6bits/秒。

正文

1. 概述

        Netperf是一种网络性能的测量工具,主要针对基于TCP或UDP的传输。Netperf根据应用的不同,可以进行不同模式的网络性能测试,即批量数据传输(bulk data transfer)模式和请求/应答(request/reponse)模式。Netperf测试结果所反映的是一个系统能够以多快的速度向另外一个系统发送数据,以及另外一个系统能够以多块的速度接收数据。

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

2. 安装

        1、下载( http://www.netperf.org)获取netperf-2.5.0.tar.bz2源码包;

        2、安装

  1. [root@RedHat netperf-2.5.0]# tar -jxvf netperf-2.5.0.tar.bz2
  2. [root@RedHat netperf-2.5.0]# make
  3. [root@RedHat netperf-2.5.0]#make install

3.  使用方法

        首先在服务器运行

[root@RedHat netperf-2.5.0]# netserver

        在客户端运行

[root@RedHat netperf-2.5.0]#netperf-H host -l testlen -t testname

        netperf的命令行参数:

-H host :指定远端运行netserver的server IP地址。

-l testlen:指定测试的时间长度(秒)

-t testname:指定进行的测试类型,包括TCP_STREAM,UDP_STREAM,TCP_RR,TCP_CRR,UDP_RR

4.   网络性能介绍

4.1 TCP网络性能

        由于TCP协议能够提供端到端的可靠传输,因此被大量的网络应用程序使用。但是,可靠性的建立是要付出代价的。TCP协议保证可靠性的措施,如建立并维护连接、控制数据有序的传递等都会消耗一定的网络带宽。

        Netperf可以模拟三种不同的TCP流量模式:

1) 单个TCP连接,批量(bulk)传输大量数据。

2) 单个TCP连接,client请求/server应答的交易(transaction)方式。

3) 多个TCP连接,每个连接中一对请求/应答的交易方式。

4.2 UDP网络性能

        UDP没有建立连接的负担,但是UDP不能保证传输的可靠性,所以使用UDP的应用程序需要自行跟踪每个发出的分组,并重发丢失的分组Netperf可以模拟两种UDP的流量模式:

1) 从client到server的单向批量传输。

2) 请求/应答的交易方式。

     由于UDP传输的不可靠性,在使用netperf时要确保发送的缓冲区大小不大于接收缓冲区大小,否则数据会丢失,netperf将给出错误的结果。因此,对于接收到分组的统计不一定准确,需要结合发送分组的统计综合得出结论。

5.  测试案例

        服务器端执行

[root@RedHat netperf-2.5.0]# netserver

        在客户端运行

  1. [root@RedHat netperf-2.5.0]# netperf -H 192.168.56.102 -l 60
  2. MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.56.102 (192.168.56.102) port 0 AF_INET
  3. Recv   Send    Send
  4. Socket Socket  Message  Elapsed
  5. Size   Size    Size     Time     Throughput
  6. bytes  bytes   bytes    secs.    10^6bits/sec
  7.  87380  16384  16384    60.01     248.26
  8. [root@RedHat netperf-2.5.0]#

        从netperf的结果输出中,我们可以知道以下的一些信息:

1) 远端系统(即server)使用大小为87380字节的socket接收缓冲;

2) 本地系统(即client)使用大小为16384字节的socket发送缓冲;

3) 向远端系统发送的测试分组大小为16384字节;

4) 测试经历的时间为60秒。

5) 吞吐量的测试结果为248.26*10^6bits/秒。

        在缺省情况下,netperf向发送的测试分组大小设置为本地系统所使用的socket发送缓冲大小。

TCP_STREAM方式下与测试相关的局部参数如下表所示:

-s size:设置本地系统的socket发送与接收缓冲大小;

-S size:设置远端系统的socket发送与接收缓冲大小;

-m size:设置本地系统发送测试分组的大小;

-M size:设置远端系统接收测试分组的大小;

-D:对本地与远端系统的socket设置TCP_NODELAY选项I/O测试。

其它的网络性能测试工具,如dbs, iperf, pathrate, nettest, netlogger, tcptrace, ntop等。

与[转帖]netperf - 网络测试工具相似的内容:

[转帖]netperf - 网络测试工具

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

[转帖]网络传输性能netperf测试方法和下载

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

[转帖]linux下性能测试工具netperf使用

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

[转帖]性能测试工具netperf安装使用

https://blog.51cto.com/dingtongxue1990/1853714 netperf工具使用 一、安装 1,下载 liunx下载地址: ftp://ftp.netperf.org/netperf/ windows版下载地址: ftp://ftp.netperf.org/net

[转帖]

Linux ubuntu20.04 网络配置(图文教程) 因为我是刚装好的最小系统,所以很多东西都没有,在开始配置之前需要做下准备 环境准备 系统:ubuntu20.04网卡:双网卡 网卡一:供连接互联网使用网卡二:供连接内网使用(看情况,如果一张网卡足够,没必要做第二张网卡) 工具: net-to

[转帖]

https://cloud.tencent.com/developer/article/2168105?areaSource=104001.13&traceId=zcVNsKTUApF9rNJSkcCbB 前言 Redis作为高性能的内存数据库,在大数据量的情况下也会遇到性能瓶颈,日常开发中只有时刻

[转帖]ISV 、OSV、 SIG 概念

ISV 、OSV、 SIG 概念 2022-10-14 12:29530原创大杂烩 本文链接:https://www.cndba.cn/dave/article/108699 1. ISV: Independent Software Vendors “独立软件开发商”,特指专门从事软件的开发、生产、

[转帖]Redis 7 参数 修改 说明

2022-06-16 14:491800原创Redis 本文链接:https://www.cndba.cn/dave/article/108066 在之前的博客我们介绍了Redis 7 的安装和配置,如下: Linux 7.8 平台 Redis 7 安装并配置开机自启动 操作手册https://ww

[转帖]HTTPS中间人攻击原理

https://www.zhihu.com/people/bei-ji-85/posts 背景 前一段时间,公司北京地区上线了一个HTTPS防火墙,用来监听HTTPS流量。防火墙上线之前,邮件通知给管理层,我从我老大那里听说这个事情的时候,说这个有风险,然后意外地发现,很多人原来都不知道HTTPS防

[转帖]关于字节序(大小端)的一点想法

https://www.zhihu.com/people/bei-ji-85/posts 今天在一个技术群里有人问起来了,当时有一些讨论(不完全都是我个人的观点),整理一下: 为什么网络字节序(多数情况下)是大端? 早年设备的缓存很小,先接收高字节能快速的判断报文信息:包长度(需要准备多大缓存)、地