实验 性能测试工具3_第1页
实验 性能测试工具3_第2页
实验 性能测试工具3_第3页
实验 性能测试工具3_第4页
实验 性能测试工具3_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、掌握Netperf网络性能测试的使用。1. 介绍:Netperf是由惠普公司开发的,测试网络栈。即测试不同类型的网络性能的benchmark工具,大多数网络类型TCP/UPD端对端的性能,得到网络上不同类型流量的性能参数。Netperf根据应用的不同可以进行不同模式的网络性能测试,即:批量数据传输模式和请求/应答模式。Netperf测试结果所反映的是一个系统能够以多快的速度向另外一个系统发送数据,以及另外一个系统能够以多快的速度接收数据。官方 :/ /netperf1.1. 工作原理Netperf工具以 client/server方式工作。server端是netserve

2、r,用来侦听来自client端的连接,client端是netperf,用来向server发起网络测试。在client与server之间,首先建立一个控制连接,传递有关测试配置的信息,以及测试的结果;在控制连接建立并传递了测试配置信息以后,client与server之间会再建立一个测试连接,进行来回传递特殊的流量模式,以测试网络的性能。具体过程如下列图所示: 1/8#tar zxvf netperf-2.4.5.tar.gz #cd netperf-2.4.5 #./configure #make2/8性能测试工具-Netperf#make install2.2. 使用在unix系统中,可以直接

3、运行可执行程序来启动netserver,也可以让inetd或xinetd来自动启动netserver。当netserver在server端启动后,就可在client端运行netperf来测试网络的性能。netperf通过命令行参数来控制测试的类型和具体的测试选项,根据作用范围的不同,netperf的命令行参数可以分为两大类:全局命令行参数、测试相关的局部参数,两者之间使用-分隔。netperf语法格式为:Netperf global options -test-specific optionsglobal options 可选参数,其中可选的参数有如下几个:test-specific opti

4、ons 可选参数,其中可选的参数有如下几个: 远程主机: NPtcp options本地主机: NPtcp -h remote_host options2.3. 应用实例2.3.1. 批量(bulk)网络流量的性能批量数据传输典型的例子有ftp和其它类似的网络应用即一次传输整个文件。根据使用传输协议的不同,批量数据传输又分为TCP批量传输和UDP批量传输。1 TCP_STREAMNetperf缺省情况下进行TCP批量传输,即-t TCP_STREAM。测试过程中,netperf向netserver发送批量的TCP数据分组,以确定数据传输过程中的吞吐量:3/8性能测试工具-Netperf从net

5、perf的结果输出中,我们可以知道以下的一些信息:1 远端系统即server使用大小为87380字节的socket接收缓冲2 本地系统即client使用大小为16384字节的socket发送缓冲3 向远端系统发送的测试分组大小为16384字节4 测试经历的时间为60秒5 吞吐量的测试结果为88Mbits/秒在缺省情况下,netperf向发送的测试分组大小设置为本地系统所使用的socket发送缓冲大小。TCP_STREAM方式下与测试相关的局部参数如下所示:通过修改以上的参数,并观察结果的变化,我们可以确定是什么因素影响了连接的吞吐量。例如,如果疑心路由器由于缺乏足够的缓冲区空间,使得转发大的分

6、组时存在问题,就可以增加测试分组-m的大小,以观察吞吐量的变化:在这里,测试分组的大小减少到2048字节,而吞吐量却没有很大的变化与前面例子中测试分组大小为16K字节相比。相反,如果吞吐量有了较大的提升,那么说明在网络中间的路由器确实存在缓冲区的问题。2 UDP_STREAM4/8性能测试工具-NetperfUDP_STREAM用来测试进行UDP批量传输时的网络性能。需要特别注意的是,此时测试分组的大小不得大于socket的发送与接收缓冲大小,否那么netperf会报出错提示:为了防止这样的情况,可以通过命令行参数限定测试分组的大小,或者增加socket的发送/接收缓冲大小。UDP_STREA

7、M方式使用与TCP_STREAM方式相同的局部命令行参数,因此,这里可以使用-m来修改测试中使用分组的大小:UDP_STREAM方式的结果中有两行测试数据,第一行显示的是本地系统的发送统计,这里的吞吐量表示netperf向本地socket发送分组的能力。但是,我们知道,UDP是不可靠的传输协议,发送出去的分组数量不一定等于接收到的分组数量。第二行显示的就是远端系统接收的情况,由于client与server直接连接在一起,而且网络中没有其它的流量,所以本地系统发送过去的分组几乎都被远端系统正确的接收了,远端系统的吞吐量也几乎等于本地系统的发送吞吐量。但是,在实际环境中,一般远端系统的socket

8、缓冲大小不同于本地系统的socket缓冲区大小,而且由于UDP协议的不可靠性,远端系统的接收吞吐量要远远小于发送出去的吞吐量。2.3.2. 请求/应答(request/response)网络流量的性能另一类常见的网络流量类型是应用在client/server结构中的request/response模式。在每次交易transaction中,client向server发出小的查询分组,server接收到请求,经处理后返回大的结果数据。如下列图所示:5/8Netperf输出的结果也是由两行组成。第一行显示本地系统的情况,第二行显示的是远端系统的信息。平均的交易率transaction rate为95

9、02.73次/秒。注意到这里每次交易中的request和response分组的大小都为1个字节,不具有很大的实际意义。用户可以通过测试相关的参数来改变request和response分组的大小,TCP_RR方式下的参数如下表所示:6/8性能测试工具-Netperf通过使用-r参数,我们可以进行更有实际意义的测试:从结果中可以看出,由于request/reponse分组的大小增加了,导致了交易率明显的下降。注:相对于实际的系统,这里交易率的计算没有充分考虑到交易过程中的应用程序处理时延,因此结果往往会高于实际情况。2 TCP_CRR与TCP_RR不同,TCP_CRR为每次交易建立一个新的TCP连

10、接。最典型的应用就是 ,每次 交易是在一条单独的TCP连接中进行的。因此,由于需要不停地建立新的TCP连接,并且在交易结束后撤除TCP连接,交易率一定会受到很大的影响。即使是使用一个字节的request/response分组,交易率也明显的降低了,只有2662.20次/秒。TCP_CRR使用与TCP_RR相同的局部参数。3 UDP_RRUDP_RR方式使用UDP分组进行request/response的交易过程。由于没有TCP连接所带来的负担,所以我们推测交易率一定会有相应的提升。7/8性能测试工具-Netperf结果证实了我们的推测,交易率为10141.16次/秒,高过TCP_RR的数值。不过,如果出现了相反的结果,即交易率反而降低了,也不需要担忧,因为这说明了在网络中,路由器或其它的网络设备对UDP采用了与TCP不

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论