网络测试工具Netperf安装使用
2023-09-11 14:20:55 时间
Netperf是一种网络性能测试工具,主要针对据域TCP和UDP的传输。Netperf根据应用的不同可以进行不同模式的网络性能测试,既批量数据传输模式(bulk data transfer)请求/应答模式(request/response)模式。Netperf测试结果所反映的是一个系统能够以多快速度向另外一台系统发送数据,以及另外一个系统能够以多快速度接收数据。
Netperf工具以client/server方式工作。server端是netserver,用来侦听来自client端的连接。client端是netperf,用来行server发起网络测试。在client和server之间,首先建立一个控制连接,传输有关测试配置信息,以及测试结果;在控制连接建立并传输了测试配置信息以后,client与server之间回再建立一个测试连接,用来来回传递特殊的流量模式,以测试网络的性能。
1.下载
下载地址:http://www.netperf.org/netperf/
这个网站上有最新版本的下载连接和操作手册
例如下载的文件为:netperf-2.6.0.tar
2.解压
$ tar -xvf netperf-2.6.0.tar
3.安装
$ cd netperf-2.6.0
$ ./configure
$ make
$ make install
4.首先在服务器端运行
$ netserver
5.运行客户端
$ netperf -H host -l testlen -t testname
命令参数:
-H host: 指定远端运行netserver的server ip地址
-l testlen: 指定测试的时间长度(秒)
-t testname: 指定进行的测试类型,包括TCP_STREAM, UDP_STREAM, TCP_RR,UDP_RR, TCP_CRR
6. 测试案例
(1)服务器端执行:(ip: 10.10.11.208)
[root@phpc1 netperf-2.6.0]# netserver Starting netserver with host IN(6)ADDR_ANY port 12865 and family AF_UNSPEC [root@phpc1 netperf-2.6.0]#
[root@phpc2 netperf-2.6.0]# netperf -H 10.10.11.208 -l 60 -t TCP_STREAM MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.10.11.208 () 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 60.03 [root@phpc2 netperf-2.6.0]# netperf -H 10.10.11.208 -l 60 -t TCP_STREAM MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.10.11.208 () 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 60.03 937.04
从netperf是输出结果中我们可以知道以下信息: (a) 远端系统(即server)使用大小为87380字节的socket接受缓冲区 (b)本地系统(即client)使用大小为16384字节的socket发送缓冲区 (c)向远端系统发送的测试分组大小为16384字节 (d)测试经历的时间为60秒 (e)吞吐量的测试结果为 937.04 *10^6bits/sec 在缺省情况下,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. 7.网络性能介绍 (1)TCP网络性能 由于TCP协议能够提供端到端的可靠传输,因此被大量的网络应用程序使用。但是,可靠性的建立是要付出代价的。TCP协议保证可靠性的措施,如建立并维护连接,控制数据有序的传输等都会消耗一定的网络带宽。 netperf可以模拟以下三种不同的tcp流量模式: (a)单个TCP连接,批量(bulk)传输大量数据。 (b)单个TCP连接,client请求/server应答的方式 (c)多个TCP连接,每个链接中一对请求/应答方式 (2)UDP网络性能 UDP没有建立连接的负担,但是udp不能保证传输的可靠性,所以使用udp的应用需要自行跟踪美国发出的分组,并重发丢失的分组,netperf可以模拟两种udp流量模式: (a) 从client到server的单向批量传输 (b)请求/应答方式 由于udp传输的不可靠性,在使用netperf是需要确保发送的缓冲区大小不大于接收缓冲区大小,否则数据丢失,netperf将给出错误的结果。因此,对于接收到分组的统计不一定准确,需要结合发送分组的统计综合得出结论。 最新内容请见作者的GitHub页:http://qaseven.github.io/
《vSphere性能设计:性能密集场景下CPU、内存、存储及网络的最佳设计实践》一2.3 性能基准测试工具 本节书摘来华章计算机《vSphere性能设计:性能密集场景下CPU、内存、存储及网络的最佳设计实践》一书中的第2章 ,第2.3节,[美] 克里斯托弗·库塞克(Christopher Kusek) 著 吕南德特·施皮斯(Rynardt Spies)姚海鹏 刘韵洁 译, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
[root@phpc1 netperf-2.6.0]# netserver Starting netserver with host IN(6)ADDR_ANY port 12865 and family AF_UNSPEC [root@phpc1 netperf-2.6.0]#
[root@phpc2 netperf-2.6.0]# netperf -H 10.10.11.208 -l 60 -t TCP_STREAM MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.10.11.208 () 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 60.03 [root@phpc2 netperf-2.6.0]# netperf -H 10.10.11.208 -l 60 -t TCP_STREAM MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.10.11.208 () 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 60.03 937.04
从netperf是输出结果中我们可以知道以下信息: (a) 远端系统(即server)使用大小为87380字节的socket接受缓冲区 (b)本地系统(即client)使用大小为16384字节的socket发送缓冲区 (c)向远端系统发送的测试分组大小为16384字节 (d)测试经历的时间为60秒 (e)吞吐量的测试结果为 937.04 *10^6bits/sec 在缺省情况下,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. 7.网络性能介绍 (1)TCP网络性能 由于TCP协议能够提供端到端的可靠传输,因此被大量的网络应用程序使用。但是,可靠性的建立是要付出代价的。TCP协议保证可靠性的措施,如建立并维护连接,控制数据有序的传输等都会消耗一定的网络带宽。 netperf可以模拟以下三种不同的tcp流量模式: (a)单个TCP连接,批量(bulk)传输大量数据。 (b)单个TCP连接,client请求/server应答的方式 (c)多个TCP连接,每个链接中一对请求/应答方式 (2)UDP网络性能 UDP没有建立连接的负担,但是udp不能保证传输的可靠性,所以使用udp的应用需要自行跟踪美国发出的分组,并重发丢失的分组,netperf可以模拟两种udp流量模式: (a) 从client到server的单向批量传输 (b)请求/应答方式 由于udp传输的不可靠性,在使用netperf是需要确保发送的缓冲区大小不大于接收缓冲区大小,否则数据丢失,netperf将给出错误的结果。因此,对于接收到分组的统计不一定准确,需要结合发送分组的统计综合得出结论。 最新内容请见作者的GitHub页:http://qaseven.github.io/
《vSphere性能设计:性能密集场景下CPU、内存、存储及网络的最佳设计实践》一2.3 性能基准测试工具 本节书摘来华章计算机《vSphere性能设计:性能密集场景下CPU、内存、存储及网络的最佳设计实践》一书中的第2章 ,第2.3节,[美] 克里斯托弗·库塞克(Christopher Kusek) 著 吕南德特·施皮斯(Rynardt Spies)姚海鹏 刘韵洁 译, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
相关文章
- yum命令安装软件时,出现--centos 7 安装apache 出现 Could not resolve host: mirrorlist.centos.org; 未知的错误"--CentOS网络设置 couldn't resolve host 'mirrorlist.centos.org问题解决
- 【Python3网络爬虫开发实战】1.7.3-Appium的安装
- 【Python3网络爬虫开发实战】1.3.3-pyquery的安装
- 【Python3网络爬虫开发实战】1.2.1-Requests的安装
- RabbitMQ安装与配置
- Vsftpd 2.2.x安装和配置--centos7前的版本
- php安装时开启很多扩展,如果忘了开启某些扩展,以后还能加上吗?答案是可以的
- 如何在Mac OS X上安装 Ruby运行环境
- VMware安装RedHat 6(64位)报错问题
- Centos7 k8s v1.5.2二进制部署安装-网络插件Flannel的安装
- linux(ubuntu21.10):apt方式安装redis6.0.15
- SQL server 2000 安装问题
- VMware 安装 Centos 7 虚拟机配置网络
- Mac 下安装mitmproxy
- 虚拟机中安装Ubuntu 16.04
- 宝塔安装swoole
- 【Python3网络爬虫开发实战】 1.2.2-Selenium的安装
- 【Python3网络爬虫开发实战】1.2.5-PhantomJS的安装
- 【Python3网络爬虫开发实战】1.7.2-mitmproxy的安装
- Ubuntu21.04中安装zlib
- 在VM已安装Android4.4 连接小米手环 网络设置
- vmware安装后设置网络
- Python使用技巧(十三):图像界面设计PySide2与PyQt5的安装与使用测试
- SpringToolSuite4 中文语言包安装手册
- 【Linux入门篇】操作系统安装、网络配置